{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "633905d2",
   "metadata": {},
   "source": [
    "### 1. **历史背景与解决的问题**\n",
    "#### **背景：CNN的长期垄断**\n",
    "- 在ViT出现前，计算机视觉（CV）任务由卷积神经网络（CNN）主导（如ResNet、YOLO系列），其核心是通过局部卷积操作提取空间特征，依赖归纳偏置（局部性、平移不变性）简化学习过程。\n",
    "- Transformer架构自2017年提出后在自然语言处理（NLP）领域（如BERT、GPT）取得突破，但其在CV的应用受限于图像的非序列特性——直接处理像素会导致序列过长（如224×224图像有50,176个像素），计算复杂度高达O(N²)。\n",
    "\n",
    "#### **核心问题：全局依赖建模的瓶颈**\n",
    "- CNN的局部感受野难以建模图像中的**长距离依赖关系**（例如跨区域物体关联），需堆叠多层扩大感受野，效率较低。\n",
    "- 早期将Transformer引入CV的尝试（如DETR）需依赖CNN backbone提取特征，未实现真正的\"纯Transformer\"架构。\n",
    "\n",
    "#### **ViT的提出**\n",
    "- 2020年Google Research团队发表论文《An Image is Worth 16x16 Words》，首次提出**纯Transformer的视觉模型ViT**，并在ImageNet分类任务上超越CNN，引发CV范式变革。\n",
    "\n",
    "---\n",
    "\n",
    "### 2. **模型的创新性与影响**\n",
    "#### **核心创新**\n",
    "- **图像分块序列化**  \n",
    "  将输入图像分割为固定大小的块（如16×16像素），每个块展平为向量，视为\"视觉单词\"。例如224×224图像被转化为196个块序列，大幅降低序列长度。\n",
    "- **位置编码保留空间信息**  \n",
    "  引入可学习的位置编码（Positional Encoding），附加到块嵌入向量中，使模型感知空间结构。\n",
    "- **全局自注意力机制**  \n",
    "  通过多头自注意力（MHSA）层建模所有块之间的关系，实现**全局上下文感知**。例如在分类任务中，模型可同时关联图像角落与中心的关键特征。\n",
    "\n",
    "#### **突破性影响**\n",
    "- **打破CNN垄断，确立新范式**  \n",
    "  ViT证明在大规模数据（如JFT-300M）预训练下，纯Transformer在ImageNet准确率超越ResNet，验证了\"注意力机制足以替代卷积\"。\n",
    "- **推动多模态融合**  \n",
    "  ViT成为视觉-语言多模态模型（如CLIP）的基础，实现跨模态对齐（图像-文本），支撑零样本检索、生成式AI等应用。\n",
    "- **激发高效架构创新**  \n",
    "  - **层级设计**：Swin Transformer引入局部窗口注意力，降低计算复杂度  \n",
    "  - **过拟合优化**：DropKey通过随机丢弃Key缓解小数据过拟合  \n",
    "  - **模型压缩**：ViT-Slim联合优化分块、注意力头等维度\n",
    "\n",
    "#### **局限与后续改进**\n",
    "| **挑战**               | **解决方案**                          | **代表工作**      |\n",
    "|------------------------|--------------------------------------|------------------|\n",
    "| 数据需求高             | 千亿级数据集预训练                   | Google DeepMind  |\n",
    "| 计算复杂度高（O(N²)）  | 局部注意力、渐进式Token缩减          | Swin, As-ViT     |\n",
    "| 位置编码灵活性不足     | 相对位置编码、可学习动态编码         | OCR-ViT          |"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d7fb0737",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Use device:  cuda\n"
     ]
    }
   ],
   "source": [
    "# 自动重新加载外部module，使得修改代码之后无需重新import\n",
    "# see http://stackoverflow.com/questions/1907993/autoreload-of-modules-in-ipython\n",
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "\n",
    "from hdd.device.utils import get_device\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "from torchvision import datasets, transforms\n",
    "\n",
    "# 设置训练数据的路径\n",
    "DATA_ROOT = \"~/workspace/hands-dirty-on-dl/dataset\"\n",
    "# 设置TensorBoard的路径\n",
    "TENSORBOARD_ROOT = \"~/workspace/hands-dirty-on-dl/dataset\"\n",
    "# 设置预训练模型参数路径\n",
    "TORCH_HUB_PATH = \"~/workspace/hands-dirty-on-dl/pretrained_models\"\n",
    "torch.hub.set_dir(TORCH_HUB_PATH)\n",
    "# 挑选最合适的训练设备\n",
    "DEVICE = get_device([\"cuda\", \"cpu\"])\n",
    "max_epochs = 300\n",
    "print(\"Use device: \", DEVICE)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1438f777",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Files already downloaded and verified\n",
      "Files already downloaded and verified\n"
     ]
    }
   ],
   "source": [
    "from hdd.data_util.auto_augmentation import CIFAR10Policy\n",
    "\n",
    "# 训练超参数和数据增强来自 https://github.com/omihub777/ViT-CIFAR\n",
    "CIFAR_10_MEAN = [0.4914, 0.4822, 0.4465]\n",
    "CIFAR_10_STD = [0.2470, 0.2435, 0.2616]\n",
    "BATCH_SIZE = 128\n",
    "\n",
    "val_transform = transforms.Compose(\n",
    "    [\n",
    "        transforms.ToTensor(),\n",
    "        transforms.Normalize(CIFAR_10_MEAN, CIFAR_10_STD),\n",
    "    ]\n",
    ")\n",
    "\n",
    "val_dataloader = torch.utils.data.DataLoader(\n",
    "    datasets.CIFAR10(\n",
    "        root=DATA_ROOT, train=False, download=True, transform=val_transform\n",
    "    ),\n",
    "    batch_size=BATCH_SIZE,\n",
    "    shuffle=False,\n",
    "    num_workers=8,\n",
    "    pin_memory=True,\n",
    ")\n",
    "\n",
    "train_transform = transforms.Compose(\n",
    "    [\n",
    "        transforms.RandomCrop(size=32, padding=4),\n",
    "        transforms.RandomHorizontalFlip(),\n",
    "        CIFAR10Policy(),\n",
    "        transforms.ToTensor(),\n",
    "        transforms.Normalize(CIFAR_10_MEAN, CIFAR_10_STD),\n",
    "    ]\n",
    ")\n",
    "\n",
    "train_dataloader = torch.utils.data.DataLoader(\n",
    "    datasets.CIFAR10(\n",
    "        root=DATA_ROOT, train=True, download=True, transform=train_transform\n",
    "    ),\n",
    "    batch_size=BATCH_SIZE,\n",
    "    shuffle=True,\n",
    "    num_workers=8,\n",
    "    pin_memory=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "38b6ddf9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "#Parameter: 6269578\n",
      "Epoch: 1/300 Train Loss: 2.9985 Accuracy: 0.1243 Time: 9.37731  | Val Loss: 3.0068 Accuracy: 0.1397\n",
      "Epoch: 2/300 Train Loss: 2.1759 Accuracy: 0.2201 Time: 9.53837  | Val Loss: 1.9227 Accuracy: 0.3281\n",
      "Epoch: 3/300 Train Loss: 2.0108 Accuracy: 0.2938 Time: 9.40795  | Val Loss: 1.8300 Accuracy: 0.3818\n",
      "Epoch: 4/300 Train Loss: 1.8642 Accuracy: 0.3686 Time: 9.49997  | Val Loss: 1.6578 Accuracy: 0.4663\n",
      "Epoch: 5/300 Train Loss: 1.7578 Accuracy: 0.4166 Time: 9.47084  | Val Loss: 1.5611 Accuracy: 0.5123\n",
      "Epoch: 6/300 Train Loss: 1.6875 Accuracy: 0.4530 Time: 9.42273  | Val Loss: 1.4865 Accuracy: 0.5441\n",
      "Epoch: 7/300 Train Loss: 1.6463 Accuracy: 0.4720 Time: 9.40787  | Val Loss: 1.4703 Accuracy: 0.5551\n",
      "Epoch: 8/300 Train Loss: 1.6226 Accuracy: 0.4857 Time: 9.46501  | Val Loss: 1.4259 Accuracy: 0.5787\n",
      "Epoch: 9/300 Train Loss: 1.6080 Accuracy: 0.4932 Time: 9.36587  | Val Loss: 1.4152 Accuracy: 0.5805\n",
      "Epoch: 10/300 Train Loss: 1.6007 Accuracy: 0.4959 Time: 9.40341  | Val Loss: 1.3991 Accuracy: 0.5922\n",
      "Epoch: 11/300 Train Loss: 1.6168 Accuracy: 0.4879 Time: 9.49531  | Val Loss: 1.4080 Accuracy: 0.5893\n",
      "Epoch: 12/300 Train Loss: 1.6130 Accuracy: 0.4907 Time: 9.45486  | Val Loss: 1.4142 Accuracy: 0.5813\n",
      "Epoch: 13/300 Train Loss: 1.6058 Accuracy: 0.4932 Time: 9.36968  | Val Loss: 1.4100 Accuracy: 0.5878\n",
      "Epoch: 14/300 Train Loss: 1.5992 Accuracy: 0.4967 Time: 9.45138  | Val Loss: 1.3857 Accuracy: 0.5931\n",
      "Epoch: 15/300 Train Loss: 1.5849 Accuracy: 0.5017 Time: 9.42281  | Val Loss: 1.3744 Accuracy: 0.5967\n",
      "Epoch: 16/300 Train Loss: 1.5557 Accuracy: 0.5162 Time: 9.38971  | Val Loss: 1.3386 Accuracy: 0.6181\n",
      "Epoch: 17/300 Train Loss: 1.5193 Accuracy: 0.5359 Time: 9.39727  | Val Loss: 1.3142 Accuracy: 0.6280\n",
      "Epoch: 18/300 Train Loss: 1.4758 Accuracy: 0.5558 Time: 9.43862  | Val Loss: 1.2527 Accuracy: 0.6596\n",
      "Epoch: 19/300 Train Loss: 1.4323 Accuracy: 0.5748 Time: 9.41124  | Val Loss: 1.2072 Accuracy: 0.6837\n",
      "Epoch: 20/300 Train Loss: 1.4012 Accuracy: 0.5896 Time: 9.50107  | Val Loss: 1.1803 Accuracy: 0.6948\n",
      "Epoch: 21/300 Train Loss: 1.3695 Accuracy: 0.6063 Time: 9.39341  | Val Loss: 1.1786 Accuracy: 0.6941\n",
      "Epoch: 22/300 Train Loss: 1.3399 Accuracy: 0.6205 Time: 9.41214  | Val Loss: 1.1473 Accuracy: 0.7093\n",
      "Epoch: 23/300 Train Loss: 1.3125 Accuracy: 0.6312 Time: 9.37637  | Val Loss: 1.1361 Accuracy: 0.7076\n",
      "Epoch: 24/300 Train Loss: 1.2931 Accuracy: 0.6422 Time: 9.44082  | Val Loss: 1.0946 Accuracy: 0.7338\n",
      "Epoch: 25/300 Train Loss: 1.2687 Accuracy: 0.6529 Time: 9.51657  | Val Loss: 1.0994 Accuracy: 0.7366\n",
      "Epoch: 26/300 Train Loss: 1.2562 Accuracy: 0.6605 Time: 9.58683  | Val Loss: 1.0557 Accuracy: 0.7545\n",
      "Epoch: 27/300 Train Loss: 1.2325 Accuracy: 0.6705 Time: 9.45402  | Val Loss: 1.0465 Accuracy: 0.7546\n",
      "Epoch: 28/300 Train Loss: 1.2176 Accuracy: 0.6767 Time: 9.42402  | Val Loss: 1.0452 Accuracy: 0.7536\n",
      "Epoch: 29/300 Train Loss: 1.1980 Accuracy: 0.6862 Time: 9.45602  | Val Loss: 1.0314 Accuracy: 0.7575\n",
      "Epoch: 30/300 Train Loss: 1.1767 Accuracy: 0.6959 Time: 9.38821  | Val Loss: 1.0150 Accuracy: 0.7712\n",
      "Epoch: 31/300 Train Loss: 1.1664 Accuracy: 0.6992 Time: 9.47406  | Val Loss: 1.0369 Accuracy: 0.7586\n",
      "Epoch: 32/300 Train Loss: 1.1550 Accuracy: 0.7048 Time: 9.42111  | Val Loss: 0.9833 Accuracy: 0.7830\n",
      "Epoch: 33/300 Train Loss: 1.1452 Accuracy: 0.7112 Time: 9.41003  | Val Loss: 0.9771 Accuracy: 0.7888\n",
      "Epoch: 34/300 Train Loss: 1.1312 Accuracy: 0.7171 Time: 9.41834  | Val Loss: 0.9568 Accuracy: 0.8003\n",
      "Epoch: 35/300 Train Loss: 1.1154 Accuracy: 0.7232 Time: 9.41539  | Val Loss: 0.9656 Accuracy: 0.7932\n",
      "Epoch: 36/300 Train Loss: 1.1008 Accuracy: 0.7290 Time: 9.40624  | Val Loss: 0.9411 Accuracy: 0.8025\n",
      "Epoch: 37/300 Train Loss: 1.0881 Accuracy: 0.7344 Time: 9.43769  | Val Loss: 0.9318 Accuracy: 0.8082\n",
      "Epoch: 38/300 Train Loss: 1.0766 Accuracy: 0.7413 Time: 9.43077  | Val Loss: 0.9299 Accuracy: 0.8114\n",
      "Epoch: 39/300 Train Loss: 1.0656 Accuracy: 0.7463 Time: 9.45896  | Val Loss: 0.9186 Accuracy: 0.8130\n",
      "Epoch: 40/300 Train Loss: 1.0528 Accuracy: 0.7526 Time: 9.42563  | Val Loss: 0.9168 Accuracy: 0.8147\n",
      "Epoch: 41/300 Train Loss: 1.0431 Accuracy: 0.7549 Time: 9.35674  | Val Loss: 0.9117 Accuracy: 0.8168\n",
      "Epoch: 42/300 Train Loss: 1.0363 Accuracy: 0.7590 Time: 9.43918  | Val Loss: 0.9088 Accuracy: 0.8173\n",
      "Epoch: 43/300 Train Loss: 1.0268 Accuracy: 0.7643 Time: 9.44134  | Val Loss: 0.8957 Accuracy: 0.8209\n",
      "Epoch: 44/300 Train Loss: 1.0177 Accuracy: 0.7681 Time: 9.45818  | Val Loss: 0.9110 Accuracy: 0.8141\n",
      "Epoch: 45/300 Train Loss: 1.0103 Accuracy: 0.7694 Time: 9.37007  | Val Loss: 0.8851 Accuracy: 0.8271\n",
      "Epoch: 46/300 Train Loss: 1.0005 Accuracy: 0.7745 Time: 9.42908  | Val Loss: 0.9168 Accuracy: 0.8162\n",
      "Epoch: 47/300 Train Loss: 0.9979 Accuracy: 0.7763 Time: 9.48775  | Val Loss: 0.9129 Accuracy: 0.8173\n",
      "Epoch: 48/300 Train Loss: 0.9854 Accuracy: 0.7816 Time: 9.48231  | Val Loss: 0.8748 Accuracy: 0.8360\n",
      "Epoch: 49/300 Train Loss: 0.9771 Accuracy: 0.7863 Time: 9.40233  | Val Loss: 0.8807 Accuracy: 0.8333\n",
      "Epoch: 50/300 Train Loss: 0.9700 Accuracy: 0.7890 Time: 9.43311  | Val Loss: 0.8649 Accuracy: 0.8392\n",
      "Epoch: 51/300 Train Loss: 0.9694 Accuracy: 0.7891 Time: 9.46358  | Val Loss: 0.8560 Accuracy: 0.8385\n",
      "Epoch: 52/300 Train Loss: 0.9650 Accuracy: 0.7909 Time: 9.43380  | Val Loss: 0.8544 Accuracy: 0.8471\n",
      "Epoch: 53/300 Train Loss: 0.9519 Accuracy: 0.7978 Time: 9.42938  | Val Loss: 0.8648 Accuracy: 0.8417\n",
      "Epoch: 54/300 Train Loss: 0.9501 Accuracy: 0.7981 Time: 9.44387  | Val Loss: 0.8494 Accuracy: 0.8438\n",
      "Epoch: 55/300 Train Loss: 0.9424 Accuracy: 0.8007 Time: 9.43751  | Val Loss: 0.8534 Accuracy: 0.8432\n",
      "Epoch: 56/300 Train Loss: 0.9360 Accuracy: 0.8042 Time: 9.39404  | Val Loss: 0.8558 Accuracy: 0.8432\n",
      "Epoch: 57/300 Train Loss: 0.9307 Accuracy: 0.8065 Time: 9.41602  | Val Loss: 0.8287 Accuracy: 0.8520\n",
      "Epoch: 58/300 Train Loss: 0.9234 Accuracy: 0.8119 Time: 9.44626  | Val Loss: 0.8436 Accuracy: 0.8493\n",
      "Epoch: 59/300 Train Loss: 0.9207 Accuracy: 0.8115 Time: 9.43580  | Val Loss: 0.8302 Accuracy: 0.8505\n",
      "Epoch: 60/300 Train Loss: 0.9186 Accuracy: 0.8130 Time: 9.44402  | Val Loss: 0.8364 Accuracy: 0.8507\n",
      "Epoch: 61/300 Train Loss: 0.9092 Accuracy: 0.8165 Time: 9.36494  | Val Loss: 0.8280 Accuracy: 0.8539\n",
      "Epoch: 62/300 Train Loss: 0.9060 Accuracy: 0.8188 Time: 9.42272  | Val Loss: 0.8263 Accuracy: 0.8563\n",
      "Epoch: 63/300 Train Loss: 0.9012 Accuracy: 0.8209 Time: 9.41685  | Val Loss: 0.8328 Accuracy: 0.8520\n",
      "Epoch: 64/300 Train Loss: 0.8995 Accuracy: 0.8218 Time: 9.39117  | Val Loss: 0.8218 Accuracy: 0.8572\n",
      "Epoch: 65/300 Train Loss: 0.8956 Accuracy: 0.8218 Time: 9.46183  | Val Loss: 0.8278 Accuracy: 0.8531\n",
      "Epoch: 66/300 Train Loss: 0.8901 Accuracy: 0.8255 Time: 9.44341  | Val Loss: 0.8291 Accuracy: 0.8553\n",
      "Epoch: 67/300 Train Loss: 0.8857 Accuracy: 0.8285 Time: 9.50656  | Val Loss: 0.8269 Accuracy: 0.8587\n",
      "Epoch: 68/300 Train Loss: 0.8765 Accuracy: 0.8312 Time: 9.39115  | Val Loss: 0.8232 Accuracy: 0.8561\n",
      "Epoch: 69/300 Train Loss: 0.8757 Accuracy: 0.8327 Time: 9.43624  | Val Loss: 0.8264 Accuracy: 0.8587\n",
      "Epoch: 70/300 Train Loss: 0.8738 Accuracy: 0.8326 Time: 9.35135  | Val Loss: 0.8074 Accuracy: 0.8625\n",
      "Epoch: 71/300 Train Loss: 0.8589 Accuracy: 0.8408 Time: 9.43246  | Val Loss: 0.8092 Accuracy: 0.8658\n",
      "Epoch: 72/300 Train Loss: 0.8595 Accuracy: 0.8387 Time: 9.49348  | Val Loss: 0.8094 Accuracy: 0.8648\n",
      "Epoch: 73/300 Train Loss: 0.8581 Accuracy: 0.8415 Time: 9.53196  | Val Loss: 0.8110 Accuracy: 0.8680\n",
      "Epoch: 74/300 Train Loss: 0.8545 Accuracy: 0.8396 Time: 9.54385  | Val Loss: 0.7924 Accuracy: 0.8735\n",
      "Epoch: 75/300 Train Loss: 0.8504 Accuracy: 0.8434 Time: 9.40689  | Val Loss: 0.7894 Accuracy: 0.8731\n",
      "Epoch: 76/300 Train Loss: 0.8428 Accuracy: 0.8459 Time: 9.39245  | Val Loss: 0.8177 Accuracy: 0.8579\n",
      "Epoch: 77/300 Train Loss: 0.8414 Accuracy: 0.8466 Time: 9.43858  | Val Loss: 0.8018 Accuracy: 0.8713\n",
      "Epoch: 78/300 Train Loss: 0.8391 Accuracy: 0.8496 Time: 9.45111  | Val Loss: 0.8211 Accuracy: 0.8598\n",
      "Epoch: 79/300 Train Loss: 0.8296 Accuracy: 0.8520 Time: 9.41051  | Val Loss: 0.7986 Accuracy: 0.8703\n",
      "Epoch: 80/300 Train Loss: 0.8343 Accuracy: 0.8506 Time: 9.47325  | Val Loss: 0.7847 Accuracy: 0.8744\n",
      "Epoch: 81/300 Train Loss: 0.8278 Accuracy: 0.8539 Time: 9.50802  | Val Loss: 0.8058 Accuracy: 0.8683\n",
      "Epoch: 82/300 Train Loss: 0.8203 Accuracy: 0.8574 Time: 9.44607  | Val Loss: 0.7945 Accuracy: 0.8717\n",
      "Epoch: 83/300 Train Loss: 0.8212 Accuracy: 0.8579 Time: 9.42010  | Val Loss: 0.7915 Accuracy: 0.8721\n",
      "Epoch: 84/300 Train Loss: 0.8193 Accuracy: 0.8567 Time: 9.50894  | Val Loss: 0.7914 Accuracy: 0.8757\n",
      "Epoch: 85/300 Train Loss: 0.8160 Accuracy: 0.8590 Time: 9.40049  | Val Loss: 0.7904 Accuracy: 0.8760\n",
      "Epoch: 86/300 Train Loss: 0.8116 Accuracy: 0.8616 Time: 9.44156  | Val Loss: 0.7929 Accuracy: 0.8770\n",
      "Epoch: 87/300 Train Loss: 0.8088 Accuracy: 0.8612 Time: 9.51236  | Val Loss: 0.7954 Accuracy: 0.8712\n",
      "Epoch: 88/300 Train Loss: 0.8023 Accuracy: 0.8650 Time: 9.43588  | Val Loss: 0.7972 Accuracy: 0.8716\n",
      "Epoch: 89/300 Train Loss: 0.8042 Accuracy: 0.8636 Time: 9.48467  | Val Loss: 0.7971 Accuracy: 0.8723\n",
      "Epoch: 90/300 Train Loss: 0.8033 Accuracy: 0.8637 Time: 9.58194  | Val Loss: 0.7906 Accuracy: 0.8756\n",
      "Epoch: 91/300 Train Loss: 0.7943 Accuracy: 0.8692 Time: 9.38992  | Val Loss: 0.7884 Accuracy: 0.8766\n",
      "Epoch: 92/300 Train Loss: 0.7952 Accuracy: 0.8682 Time: 9.42304  | Val Loss: 0.7794 Accuracy: 0.8806\n",
      "Epoch: 93/300 Train Loss: 0.7875 Accuracy: 0.8716 Time: 9.52350  | Val Loss: 0.7892 Accuracy: 0.8797\n",
      "Epoch: 94/300 Train Loss: 0.7854 Accuracy: 0.8724 Time: 9.43418  | Val Loss: 0.7770 Accuracy: 0.8822\n",
      "Epoch: 95/300 Train Loss: 0.7868 Accuracy: 0.8729 Time: 9.39921  | Val Loss: 0.7879 Accuracy: 0.8779\n",
      "Epoch: 96/300 Train Loss: 0.7854 Accuracy: 0.8733 Time: 9.43725  | Val Loss: 0.7734 Accuracy: 0.8844\n",
      "Epoch: 97/300 Train Loss: 0.7814 Accuracy: 0.8740 Time: 9.39859  | Val Loss: 0.7661 Accuracy: 0.8850\n",
      "Epoch: 98/300 Train Loss: 0.7741 Accuracy: 0.8783 Time: 9.47039  | Val Loss: 0.7770 Accuracy: 0.8822\n",
      "Epoch: 99/300 Train Loss: 0.7748 Accuracy: 0.8783 Time: 9.44445  | Val Loss: 0.7981 Accuracy: 0.8766\n",
      "Epoch: 100/300 Train Loss: 0.7693 Accuracy: 0.8808 Time: 9.48324  | Val Loss: 0.7723 Accuracy: 0.8846\n",
      "Epoch: 101/300 Train Loss: 0.7681 Accuracy: 0.8803 Time: 9.48147  | Val Loss: 0.7749 Accuracy: 0.8816\n",
      "Epoch: 102/300 Train Loss: 0.7609 Accuracy: 0.8830 Time: 9.37506  | Val Loss: 0.7674 Accuracy: 0.8876\n",
      "Epoch: 103/300 Train Loss: 0.7634 Accuracy: 0.8831 Time: 9.42266  | Val Loss: 0.7747 Accuracy: 0.8835\n",
      "Epoch: 104/300 Train Loss: 0.7615 Accuracy: 0.8830 Time: 9.41072  | Val Loss: 0.7799 Accuracy: 0.8799\n",
      "Epoch: 105/300 Train Loss: 0.7615 Accuracy: 0.8849 Time: 9.44993  | Val Loss: 0.7761 Accuracy: 0.8829\n",
      "Epoch: 106/300 Train Loss: 0.7572 Accuracy: 0.8859 Time: 9.44896  | Val Loss: 0.7709 Accuracy: 0.8856\n",
      "Epoch: 107/300 Train Loss: 0.7523 Accuracy: 0.8867 Time: 9.45373  | Val Loss: 0.7595 Accuracy: 0.8885\n",
      "Epoch: 108/300 Train Loss: 0.7528 Accuracy: 0.8880 Time: 9.42873  | Val Loss: 0.7805 Accuracy: 0.8861\n",
      "Epoch: 109/300 Train Loss: 0.7495 Accuracy: 0.8881 Time: 9.36419  | Val Loss: 0.7539 Accuracy: 0.8919\n",
      "Epoch: 110/300 Train Loss: 0.7469 Accuracy: 0.8907 Time: 9.51911  | Val Loss: 0.7681 Accuracy: 0.8866\n",
      "Epoch: 111/300 Train Loss: 0.7462 Accuracy: 0.8893 Time: 9.40276  | Val Loss: 0.7708 Accuracy: 0.8845\n",
      "Epoch: 112/300 Train Loss: 0.7424 Accuracy: 0.8945 Time: 9.46033  | Val Loss: 0.7783 Accuracy: 0.8852\n",
      "Epoch: 113/300 Train Loss: 0.7405 Accuracy: 0.8938 Time: 9.41226  | Val Loss: 0.7687 Accuracy: 0.8847\n",
      "Epoch: 114/300 Train Loss: 0.7394 Accuracy: 0.8941 Time: 9.45491  | Val Loss: 0.7570 Accuracy: 0.8882\n",
      "Epoch: 115/300 Train Loss: 0.7348 Accuracy: 0.8950 Time: 9.44988  | Val Loss: 0.7644 Accuracy: 0.8880\n",
      "Epoch: 116/300 Train Loss: 0.7373 Accuracy: 0.8939 Time: 9.41698  | Val Loss: 0.7591 Accuracy: 0.8877\n",
      "Epoch: 117/300 Train Loss: 0.7340 Accuracy: 0.8950 Time: 9.36109  | Val Loss: 0.7789 Accuracy: 0.8862\n",
      "Epoch: 118/300 Train Loss: 0.7296 Accuracy: 0.8971 Time: 9.39703  | Val Loss: 0.7630 Accuracy: 0.8904\n",
      "Epoch: 119/300 Train Loss: 0.7274 Accuracy: 0.8976 Time: 9.45244  | Val Loss: 0.7714 Accuracy: 0.8880\n",
      "Epoch: 120/300 Train Loss: 0.7305 Accuracy: 0.8980 Time: 9.50529  | Val Loss: 0.7506 Accuracy: 0.8943\n",
      "Epoch: 121/300 Train Loss: 0.7271 Accuracy: 0.8984 Time: 9.52060  | Val Loss: 0.7503 Accuracy: 0.8945\n",
      "Epoch: 122/300 Train Loss: 0.7237 Accuracy: 0.9012 Time: 9.52924  | Val Loss: 0.7504 Accuracy: 0.8954\n",
      "Epoch: 123/300 Train Loss: 0.7204 Accuracy: 0.9023 Time: 9.44972  | Val Loss: 0.7561 Accuracy: 0.8914\n",
      "Epoch: 124/300 Train Loss: 0.7200 Accuracy: 0.9018 Time: 9.41620  | Val Loss: 0.7644 Accuracy: 0.8903\n",
      "Epoch: 125/300 Train Loss: 0.7187 Accuracy: 0.9024 Time: 9.43832  | Val Loss: 0.7692 Accuracy: 0.8907\n",
      "Epoch: 126/300 Train Loss: 0.7135 Accuracy: 0.9040 Time: 9.55631  | Val Loss: 0.7585 Accuracy: 0.8986\n",
      "Epoch: 127/300 Train Loss: 0.7159 Accuracy: 0.9029 Time: 9.37348  | Val Loss: 0.7585 Accuracy: 0.8928\n",
      "Epoch: 128/300 Train Loss: 0.7168 Accuracy: 0.9031 Time: 9.41376  | Val Loss: 0.7664 Accuracy: 0.8918\n",
      "Epoch: 129/300 Train Loss: 0.7126 Accuracy: 0.9051 Time: 10.00514  | Val Loss: 0.7536 Accuracy: 0.8945\n",
      "Epoch: 130/300 Train Loss: 0.7083 Accuracy: 0.9073 Time: 10.26093  | Val Loss: 0.7557 Accuracy: 0.8920\n",
      "Epoch: 131/300 Train Loss: 0.7057 Accuracy: 0.9087 Time: 10.10123  | Val Loss: 0.7652 Accuracy: 0.8895\n",
      "Epoch: 132/300 Train Loss: 0.7077 Accuracy: 0.9066 Time: 10.27410  | Val Loss: 0.7681 Accuracy: 0.8884\n",
      "Epoch: 133/300 Train Loss: 0.7051 Accuracy: 0.9087 Time: 10.06071  | Val Loss: 0.7571 Accuracy: 0.8956\n",
      "Epoch: 134/300 Train Loss: 0.7045 Accuracy: 0.9094 Time: 10.00972  | Val Loss: 0.7734 Accuracy: 0.8896\n",
      "Epoch: 135/300 Train Loss: 0.7069 Accuracy: 0.9085 Time: 10.07172  | Val Loss: 0.7583 Accuracy: 0.8953\n",
      "Epoch: 136/300 Train Loss: 0.6995 Accuracy: 0.9119 Time: 9.98124  | Val Loss: 0.7536 Accuracy: 0.8965\n",
      "Epoch: 137/300 Train Loss: 0.6984 Accuracy: 0.9117 Time: 10.14401  | Val Loss: 0.7496 Accuracy: 0.8977\n",
      "Epoch: 138/300 Train Loss: 0.6965 Accuracy: 0.9116 Time: 10.20146  | Val Loss: 0.7684 Accuracy: 0.8922\n",
      "Epoch: 139/300 Train Loss: 0.6927 Accuracy: 0.9133 Time: 10.19551  | Val Loss: 0.7523 Accuracy: 0.8965\n",
      "Epoch: 140/300 Train Loss: 0.6922 Accuracy: 0.9138 Time: 10.08017  | Val Loss: 0.7599 Accuracy: 0.8928\n",
      "Epoch: 141/300 Train Loss: 0.6908 Accuracy: 0.9159 Time: 10.19445  | Val Loss: 0.7546 Accuracy: 0.8932\n",
      "Epoch: 142/300 Train Loss: 0.6869 Accuracy: 0.9177 Time: 10.28137  | Val Loss: 0.7530 Accuracy: 0.8946\n",
      "Epoch: 143/300 Train Loss: 0.6865 Accuracy: 0.9171 Time: 10.15554  | Val Loss: 0.7592 Accuracy: 0.8965\n",
      "Epoch: 144/300 Train Loss: 0.6895 Accuracy: 0.9142 Time: 10.09375  | Val Loss: 0.7505 Accuracy: 0.8988\n",
      "Epoch: 145/300 Train Loss: 0.6874 Accuracy: 0.9163 Time: 10.08676  | Val Loss: 0.7582 Accuracy: 0.8964\n",
      "Epoch: 146/300 Train Loss: 0.6853 Accuracy: 0.9174 Time: 10.13120  | Val Loss: 0.7651 Accuracy: 0.8914\n",
      "Epoch: 147/300 Train Loss: 0.6818 Accuracy: 0.9190 Time: 10.12249  | Val Loss: 0.7666 Accuracy: 0.8967\n",
      "Epoch: 148/300 Train Loss: 0.6843 Accuracy: 0.9179 Time: 9.97783  | Val Loss: 0.7522 Accuracy: 0.8978\n",
      "Epoch: 149/300 Train Loss: 0.6782 Accuracy: 0.9208 Time: 10.17359  | Val Loss: 0.7651 Accuracy: 0.8952\n",
      "Epoch: 150/300 Train Loss: 0.6780 Accuracy: 0.9207 Time: 10.04689  | Val Loss: 0.7652 Accuracy: 0.8955\n",
      "Epoch: 151/300 Train Loss: 0.6790 Accuracy: 0.9211 Time: 10.05009  | Val Loss: 0.7564 Accuracy: 0.8958\n",
      "Epoch: 152/300 Train Loss: 0.6808 Accuracy: 0.9193 Time: 10.03919  | Val Loss: 0.7529 Accuracy: 0.8970\n",
      "Epoch: 153/300 Train Loss: 0.6742 Accuracy: 0.9231 Time: 9.97957  | Val Loss: 0.7560 Accuracy: 0.9002\n",
      "Epoch: 154/300 Train Loss: 0.6717 Accuracy: 0.9236 Time: 10.00601  | Val Loss: 0.7588 Accuracy: 0.9004\n",
      "Epoch: 155/300 Train Loss: 0.6730 Accuracy: 0.9237 Time: 10.24405  | Val Loss: 0.7594 Accuracy: 0.8980\n",
      "Epoch: 156/300 Train Loss: 0.6721 Accuracy: 0.9229 Time: 10.12873  | Val Loss: 0.7500 Accuracy: 0.9005\n",
      "Epoch: 157/300 Train Loss: 0.6710 Accuracy: 0.9244 Time: 9.99744  | Val Loss: 0.7613 Accuracy: 0.8967\n",
      "Epoch: 158/300 Train Loss: 0.6642 Accuracy: 0.9274 Time: 10.00038  | Val Loss: 0.7455 Accuracy: 0.9004\n",
      "Epoch: 159/300 Train Loss: 0.6667 Accuracy: 0.9265 Time: 9.43753  | Val Loss: 0.7524 Accuracy: 0.8991\n",
      "Epoch: 160/300 Train Loss: 0.6635 Accuracy: 0.9269 Time: 9.43214  | Val Loss: 0.7451 Accuracy: 0.9000\n",
      "Epoch: 161/300 Train Loss: 0.6677 Accuracy: 0.9260 Time: 9.42167  | Val Loss: 0.7541 Accuracy: 0.9003\n",
      "Epoch: 162/300 Train Loss: 0.6611 Accuracy: 0.9289 Time: 9.39709  | Val Loss: 0.7542 Accuracy: 0.8967\n",
      "Epoch: 163/300 Train Loss: 0.6649 Accuracy: 0.9276 Time: 9.53430  | Val Loss: 0.7569 Accuracy: 0.8994\n",
      "Epoch: 164/300 Train Loss: 0.6613 Accuracy: 0.9280 Time: 9.45582  | Val Loss: 0.7470 Accuracy: 0.8993\n",
      "Epoch: 165/300 Train Loss: 0.6577 Accuracy: 0.9292 Time: 9.47894  | Val Loss: 0.7466 Accuracy: 0.9006\n",
      "Epoch: 166/300 Train Loss: 0.6580 Accuracy: 0.9294 Time: 9.44587  | Val Loss: 0.7494 Accuracy: 0.8991\n",
      "Epoch: 167/300 Train Loss: 0.6531 Accuracy: 0.9317 Time: 9.52158  | Val Loss: 0.7449 Accuracy: 0.9019\n",
      "Epoch: 168/300 Train Loss: 0.6556 Accuracy: 0.9308 Time: 9.42479  | Val Loss: 0.7489 Accuracy: 0.9007\n",
      "Epoch: 169/300 Train Loss: 0.6549 Accuracy: 0.9321 Time: 9.39590  | Val Loss: 0.7525 Accuracy: 0.9015\n",
      "Epoch: 170/300 Train Loss: 0.6556 Accuracy: 0.9307 Time: 9.42210  | Val Loss: 0.7681 Accuracy: 0.8965\n",
      "Epoch: 171/300 Train Loss: 0.6491 Accuracy: 0.9345 Time: 9.39670  | Val Loss: 0.7515 Accuracy: 0.9019\n",
      "Epoch: 172/300 Train Loss: 0.6488 Accuracy: 0.9345 Time: 9.45634  | Val Loss: 0.7593 Accuracy: 0.8995\n",
      "Epoch: 173/300 Train Loss: 0.6494 Accuracy: 0.9338 Time: 9.41542  | Val Loss: 0.7612 Accuracy: 0.8994\n",
      "Epoch: 174/300 Train Loss: 0.6519 Accuracy: 0.9330 Time: 9.39746  | Val Loss: 0.7554 Accuracy: 0.9033\n",
      "Epoch: 175/300 Train Loss: 0.6490 Accuracy: 0.9335 Time: 9.42430  | Val Loss: 0.7543 Accuracy: 0.9016\n",
      "Epoch: 176/300 Train Loss: 0.6450 Accuracy: 0.9362 Time: 9.45233  | Val Loss: 0.7501 Accuracy: 0.9014\n",
      "Epoch: 177/300 Train Loss: 0.6479 Accuracy: 0.9347 Time: 9.46430  | Val Loss: 0.7395 Accuracy: 0.9024\n",
      "Epoch: 178/300 Train Loss: 0.6469 Accuracy: 0.9347 Time: 9.46859  | Val Loss: 0.7469 Accuracy: 0.9003\n",
      "Epoch: 179/300 Train Loss: 0.6444 Accuracy: 0.9364 Time: 9.43053  | Val Loss: 0.7505 Accuracy: 0.9046\n",
      "Epoch: 180/300 Train Loss: 0.6416 Accuracy: 0.9368 Time: 9.42579  | Val Loss: 0.7317 Accuracy: 0.9096\n",
      "Epoch: 181/300 Train Loss: 0.6430 Accuracy: 0.9371 Time: 9.49385  | Val Loss: 0.7361 Accuracy: 0.9085\n",
      "Epoch: 182/300 Train Loss: 0.6411 Accuracy: 0.9380 Time: 9.37313  | Val Loss: 0.7379 Accuracy: 0.9070\n",
      "Epoch: 183/300 Train Loss: 0.6394 Accuracy: 0.9382 Time: 9.64381  | Val Loss: 0.7474 Accuracy: 0.9024\n",
      "Epoch: 184/300 Train Loss: 0.6413 Accuracy: 0.9362 Time: 10.22795  | Val Loss: 0.7366 Accuracy: 0.9080\n",
      "Epoch: 185/300 Train Loss: 0.6375 Accuracy: 0.9377 Time: 9.89081  | Val Loss: 0.7488 Accuracy: 0.9034\n",
      "Epoch: 186/300 Train Loss: 0.6359 Accuracy: 0.9398 Time: 9.85198  | Val Loss: 0.7544 Accuracy: 0.9013\n",
      "Epoch: 187/300 Train Loss: 0.6350 Accuracy: 0.9395 Time: 10.17985  | Val Loss: 0.7430 Accuracy: 0.9055\n",
      "Epoch: 188/300 Train Loss: 0.6324 Accuracy: 0.9412 Time: 10.10227  | Val Loss: 0.7388 Accuracy: 0.9078\n",
      "Epoch: 189/300 Train Loss: 0.6350 Accuracy: 0.9401 Time: 10.12410  | Val Loss: 0.7382 Accuracy: 0.9059\n",
      "Epoch: 190/300 Train Loss: 0.6301 Accuracy: 0.9420 Time: 10.15451  | Val Loss: 0.7458 Accuracy: 0.9036\n",
      "Epoch: 191/300 Train Loss: 0.6291 Accuracy: 0.9428 Time: 9.88536  | Val Loss: 0.7465 Accuracy: 0.9042\n",
      "Epoch: 192/300 Train Loss: 0.6290 Accuracy: 0.9427 Time: 9.80970  | Val Loss: 0.7510 Accuracy: 0.9002\n",
      "Epoch: 193/300 Train Loss: 0.6332 Accuracy: 0.9399 Time: 9.76164  | Val Loss: 0.7445 Accuracy: 0.9059\n",
      "Epoch: 194/300 Train Loss: 0.6263 Accuracy: 0.9435 Time: 9.62655  | Val Loss: 0.7357 Accuracy: 0.9082\n",
      "Epoch: 195/300 Train Loss: 0.6301 Accuracy: 0.9418 Time: 9.84043  | Val Loss: 0.7421 Accuracy: 0.9038\n",
      "Epoch: 196/300 Train Loss: 0.6297 Accuracy: 0.9428 Time: 9.85444  | Val Loss: 0.7393 Accuracy: 0.9044\n",
      "Epoch: 197/300 Train Loss: 0.6242 Accuracy: 0.9449 Time: 9.69630  | Val Loss: 0.7475 Accuracy: 0.9044\n",
      "Epoch: 198/300 Train Loss: 0.6254 Accuracy: 0.9438 Time: 9.83622  | Val Loss: 0.7349 Accuracy: 0.9080\n",
      "Epoch: 199/300 Train Loss: 0.6230 Accuracy: 0.9454 Time: 9.80347  | Val Loss: 0.7499 Accuracy: 0.9048\n",
      "Epoch: 200/300 Train Loss: 0.6271 Accuracy: 0.9438 Time: 9.68146  | Val Loss: 0.7372 Accuracy: 0.9073\n",
      "Epoch: 201/300 Train Loss: 0.6227 Accuracy: 0.9451 Time: 10.20268  | Val Loss: 0.7430 Accuracy: 0.9061\n",
      "Epoch: 202/300 Train Loss: 0.6216 Accuracy: 0.9460 Time: 10.06766  | Val Loss: 0.7433 Accuracy: 0.9068\n",
      "Epoch: 203/300 Train Loss: 0.6177 Accuracy: 0.9473 Time: 10.22742  | Val Loss: 0.7388 Accuracy: 0.9097\n",
      "Epoch: 204/300 Train Loss: 0.6184 Accuracy: 0.9478 Time: 10.25954  | Val Loss: 0.7393 Accuracy: 0.9089\n",
      "Epoch: 205/300 Train Loss: 0.6172 Accuracy: 0.9480 Time: 10.11538  | Val Loss: 0.7471 Accuracy: 0.9099\n",
      "Epoch: 206/300 Train Loss: 0.6176 Accuracy: 0.9469 Time: 10.09042  | Val Loss: 0.7379 Accuracy: 0.9115\n",
      "Epoch: 207/300 Train Loss: 0.6142 Accuracy: 0.9490 Time: 10.09996  | Val Loss: 0.7490 Accuracy: 0.9069\n",
      "Epoch: 208/300 Train Loss: 0.6150 Accuracy: 0.9490 Time: 10.01398  | Val Loss: 0.7469 Accuracy: 0.9045\n",
      "Epoch: 209/300 Train Loss: 0.6145 Accuracy: 0.9496 Time: 10.19094  | Val Loss: 0.7495 Accuracy: 0.9059\n",
      "Epoch: 210/300 Train Loss: 0.6162 Accuracy: 0.9483 Time: 9.81412  | Val Loss: 0.7386 Accuracy: 0.9122\n",
      "Epoch: 211/300 Train Loss: 0.6142 Accuracy: 0.9493 Time: 9.99304  | Val Loss: 0.7424 Accuracy: 0.9075\n",
      "Epoch: 212/300 Train Loss: 0.6134 Accuracy: 0.9503 Time: 9.98117  | Val Loss: 0.7427 Accuracy: 0.9077\n",
      "Epoch: 213/300 Train Loss: 0.6104 Accuracy: 0.9508 Time: 10.30034  | Val Loss: 0.7393 Accuracy: 0.9113\n",
      "Epoch: 214/300 Train Loss: 0.6124 Accuracy: 0.9500 Time: 10.26676  | Val Loss: 0.7283 Accuracy: 0.9124\n",
      "Epoch: 215/300 Train Loss: 0.6115 Accuracy: 0.9505 Time: 10.14270  | Val Loss: 0.7399 Accuracy: 0.9115\n",
      "Epoch: 216/300 Train Loss: 0.6080 Accuracy: 0.9520 Time: 10.22216  | Val Loss: 0.7478 Accuracy: 0.9070\n",
      "Epoch: 217/300 Train Loss: 0.6113 Accuracy: 0.9504 Time: 10.35754  | Val Loss: 0.7375 Accuracy: 0.9118\n",
      "Epoch: 218/300 Train Loss: 0.6083 Accuracy: 0.9529 Time: 10.13392  | Val Loss: 0.7431 Accuracy: 0.9099\n",
      "Epoch: 219/300 Train Loss: 0.6069 Accuracy: 0.9524 Time: 9.91949  | Val Loss: 0.7407 Accuracy: 0.9097\n",
      "Epoch: 220/300 Train Loss: 0.6054 Accuracy: 0.9522 Time: 10.02701  | Val Loss: 0.7349 Accuracy: 0.9101\n",
      "Epoch: 221/300 Train Loss: 0.6043 Accuracy: 0.9527 Time: 10.19362  | Val Loss: 0.7293 Accuracy: 0.9158\n",
      "Epoch: 222/300 Train Loss: 0.6021 Accuracy: 0.9545 Time: 10.07644  | Val Loss: 0.7357 Accuracy: 0.9137\n",
      "Epoch: 223/300 Train Loss: 0.6010 Accuracy: 0.9553 Time: 10.46221  | Val Loss: 0.7358 Accuracy: 0.9117\n",
      "Epoch: 224/300 Train Loss: 0.6027 Accuracy: 0.9548 Time: 10.29713  | Val Loss: 0.7335 Accuracy: 0.9133\n",
      "Epoch: 225/300 Train Loss: 0.5997 Accuracy: 0.9556 Time: 10.18635  | Val Loss: 0.7325 Accuracy: 0.9143\n",
      "Epoch: 226/300 Train Loss: 0.6009 Accuracy: 0.9553 Time: 9.98221  | Val Loss: 0.7396 Accuracy: 0.9136\n",
      "Epoch: 227/300 Train Loss: 0.6009 Accuracy: 0.9550 Time: 10.06478  | Val Loss: 0.7440 Accuracy: 0.9102\n",
      "Epoch: 228/300 Train Loss: 0.5982 Accuracy: 0.9558 Time: 10.20672  | Val Loss: 0.7389 Accuracy: 0.9090\n",
      "Epoch: 229/300 Train Loss: 0.5995 Accuracy: 0.9556 Time: 10.22304  | Val Loss: 0.7316 Accuracy: 0.9144\n",
      "Epoch: 230/300 Train Loss: 0.5971 Accuracy: 0.9571 Time: 10.25838  | Val Loss: 0.7338 Accuracy: 0.9130\n",
      "Epoch: 231/300 Train Loss: 0.5968 Accuracy: 0.9569 Time: 10.03684  | Val Loss: 0.7301 Accuracy: 0.9142\n",
      "Epoch: 232/300 Train Loss: 0.5950 Accuracy: 0.9573 Time: 10.05870  | Val Loss: 0.7361 Accuracy: 0.9135\n",
      "Epoch: 233/300 Train Loss: 0.5943 Accuracy: 0.9572 Time: 10.19660  | Val Loss: 0.7394 Accuracy: 0.9104\n",
      "Epoch: 234/300 Train Loss: 0.5914 Accuracy: 0.9598 Time: 10.02530  | Val Loss: 0.7353 Accuracy: 0.9118\n",
      "Epoch: 235/300 Train Loss: 0.5941 Accuracy: 0.9577 Time: 9.75168  | Val Loss: 0.7325 Accuracy: 0.9120\n",
      "Epoch: 236/300 Train Loss: 0.5950 Accuracy: 0.9576 Time: 9.75613  | Val Loss: 0.7340 Accuracy: 0.9136\n",
      "Epoch: 237/300 Train Loss: 0.5948 Accuracy: 0.9575 Time: 9.78665  | Val Loss: 0.7386 Accuracy: 0.9121\n",
      "Epoch: 238/300 Train Loss: 0.5927 Accuracy: 0.9591 Time: 10.24569  | Val Loss: 0.7372 Accuracy: 0.9112\n",
      "Epoch: 239/300 Train Loss: 0.5925 Accuracy: 0.9586 Time: 10.14567  | Val Loss: 0.7292 Accuracy: 0.9134\n",
      "Epoch: 240/300 Train Loss: 0.5910 Accuracy: 0.9591 Time: 10.22500  | Val Loss: 0.7318 Accuracy: 0.9139\n",
      "Epoch: 241/300 Train Loss: 0.5911 Accuracy: 0.9589 Time: 9.98175  | Val Loss: 0.7275 Accuracy: 0.9156\n",
      "Epoch: 242/300 Train Loss: 0.5878 Accuracy: 0.9615 Time: 10.02146  | Val Loss: 0.7422 Accuracy: 0.9128\n",
      "Epoch: 243/300 Train Loss: 0.5889 Accuracy: 0.9600 Time: 10.18670  | Val Loss: 0.7379 Accuracy: 0.9142\n",
      "Epoch: 244/300 Train Loss: 0.5896 Accuracy: 0.9601 Time: 10.17865  | Val Loss: 0.7327 Accuracy: 0.9139\n",
      "Epoch: 245/300 Train Loss: 0.5886 Accuracy: 0.9606 Time: 10.17712  | Val Loss: 0.7337 Accuracy: 0.9143\n",
      "Epoch: 246/300 Train Loss: 0.5906 Accuracy: 0.9601 Time: 10.13104  | Val Loss: 0.7255 Accuracy: 0.9147\n",
      "Epoch: 247/300 Train Loss: 0.5852 Accuracy: 0.9624 Time: 10.16056  | Val Loss: 0.7360 Accuracy: 0.9141\n",
      "Epoch: 248/300 Train Loss: 0.5847 Accuracy: 0.9617 Time: 10.07783  | Val Loss: 0.7305 Accuracy: 0.9148\n",
      "Epoch: 249/300 Train Loss: 0.5844 Accuracy: 0.9622 Time: 10.23525  | Val Loss: 0.7287 Accuracy: 0.9150\n",
      "Epoch: 250/300 Train Loss: 0.5889 Accuracy: 0.9594 Time: 10.22346  | Val Loss: 0.7341 Accuracy: 0.9147\n",
      "Epoch: 251/300 Train Loss: 0.5849 Accuracy: 0.9619 Time: 10.09320  | Val Loss: 0.7275 Accuracy: 0.9164\n",
      "Epoch: 252/300 Train Loss: 0.5814 Accuracy: 0.9635 Time: 9.88769  | Val Loss: 0.7318 Accuracy: 0.9161\n",
      "Epoch: 253/300 Train Loss: 0.5852 Accuracy: 0.9615 Time: 10.12432  | Val Loss: 0.7273 Accuracy: 0.9168\n",
      "Epoch: 254/300 Train Loss: 0.5825 Accuracy: 0.9630 Time: 9.96893  | Val Loss: 0.7267 Accuracy: 0.9184\n",
      "Epoch: 255/300 Train Loss: 0.5848 Accuracy: 0.9626 Time: 10.16118  | Val Loss: 0.7241 Accuracy: 0.9204\n",
      "Epoch: 256/300 Train Loss: 0.5849 Accuracy: 0.9623 Time: 10.27909  | Val Loss: 0.7258 Accuracy: 0.9203\n",
      "Epoch: 257/300 Train Loss: 0.5816 Accuracy: 0.9639 Time: 9.98906  | Val Loss: 0.7305 Accuracy: 0.9186\n",
      "Epoch: 258/300 Train Loss: 0.5789 Accuracy: 0.9649 Time: 10.08468  | Val Loss: 0.7262 Accuracy: 0.9190\n",
      "Epoch: 259/300 Train Loss: 0.5790 Accuracy: 0.9649 Time: 10.15091  | Val Loss: 0.7289 Accuracy: 0.9189\n",
      "Epoch: 260/300 Train Loss: 0.5794 Accuracy: 0.9647 Time: 10.01926  | Val Loss: 0.7246 Accuracy: 0.9190\n",
      "Epoch: 261/300 Train Loss: 0.5813 Accuracy: 0.9631 Time: 10.45558  | Val Loss: 0.7271 Accuracy: 0.9181\n",
      "Epoch: 262/300 Train Loss: 0.5790 Accuracy: 0.9651 Time: 9.99013  | Val Loss: 0.7232 Accuracy: 0.9181\n",
      "Epoch: 263/300 Train Loss: 0.5815 Accuracy: 0.9643 Time: 10.21352  | Val Loss: 0.7239 Accuracy: 0.9180\n",
      "Epoch: 264/300 Train Loss: 0.5768 Accuracy: 0.9666 Time: 9.98559  | Val Loss: 0.7264 Accuracy: 0.9147\n",
      "Epoch: 265/300 Train Loss: 0.5794 Accuracy: 0.9641 Time: 9.98120  | Val Loss: 0.7266 Accuracy: 0.9184\n",
      "Epoch: 266/300 Train Loss: 0.5784 Accuracy: 0.9649 Time: 10.20653  | Val Loss: 0.7266 Accuracy: 0.9182\n",
      "Epoch: 267/300 Train Loss: 0.5786 Accuracy: 0.9652 Time: 10.02958  | Val Loss: 0.7287 Accuracy: 0.9168\n",
      "Epoch: 268/300 Train Loss: 0.5773 Accuracy: 0.9648 Time: 10.24105  | Val Loss: 0.7250 Accuracy: 0.9189\n",
      "Epoch: 269/300 Train Loss: 0.5771 Accuracy: 0.9658 Time: 10.20298  | Val Loss: 0.7232 Accuracy: 0.9177\n",
      "Epoch: 270/300 Train Loss: 0.5765 Accuracy: 0.9664 Time: 10.23136  | Val Loss: 0.7238 Accuracy: 0.9166\n",
      "Epoch: 271/300 Train Loss: 0.5793 Accuracy: 0.9646 Time: 10.12598  | Val Loss: 0.7217 Accuracy: 0.9186\n",
      "Epoch: 272/300 Train Loss: 0.5725 Accuracy: 0.9675 Time: 10.34871  | Val Loss: 0.7286 Accuracy: 0.9176\n",
      "Epoch: 273/300 Train Loss: 0.5767 Accuracy: 0.9654 Time: 10.20592  | Val Loss: 0.7257 Accuracy: 0.9168\n",
      "Epoch: 274/300 Train Loss: 0.5761 Accuracy: 0.9662 Time: 10.25110  | Val Loss: 0.7248 Accuracy: 0.9172\n",
      "Epoch: 275/300 Train Loss: 0.5768 Accuracy: 0.9663 Time: 10.10486  | Val Loss: 0.7227 Accuracy: 0.9193\n",
      "Epoch: 276/300 Train Loss: 0.5731 Accuracy: 0.9672 Time: 10.17589  | Val Loss: 0.7265 Accuracy: 0.9177\n",
      "Epoch: 277/300 Train Loss: 0.5724 Accuracy: 0.9676 Time: 10.15279  | Val Loss: 0.7261 Accuracy: 0.9189\n",
      "Epoch: 278/300 Train Loss: 0.5737 Accuracy: 0.9671 Time: 10.00358  | Val Loss: 0.7228 Accuracy: 0.9181\n",
      "Epoch: 279/300 Train Loss: 0.5736 Accuracy: 0.9668 Time: 9.93369  | Val Loss: 0.7262 Accuracy: 0.9166\n",
      "Epoch: 280/300 Train Loss: 0.5739 Accuracy: 0.9666 Time: 10.06510  | Val Loss: 0.7254 Accuracy: 0.9172\n",
      "Epoch: 281/300 Train Loss: 0.5722 Accuracy: 0.9676 Time: 9.87137  | Val Loss: 0.7266 Accuracy: 0.9188\n",
      "Epoch: 282/300 Train Loss: 0.5710 Accuracy: 0.9689 Time: 10.06109  | Val Loss: 0.7260 Accuracy: 0.9197\n",
      "Epoch: 283/300 Train Loss: 0.5730 Accuracy: 0.9670 Time: 9.94758  | Val Loss: 0.7237 Accuracy: 0.9194\n",
      "Epoch: 284/300 Train Loss: 0.5703 Accuracy: 0.9690 Time: 10.00062  | Val Loss: 0.7263 Accuracy: 0.9191\n",
      "Epoch: 285/300 Train Loss: 0.5743 Accuracy: 0.9672 Time: 10.01110  | Val Loss: 0.7257 Accuracy: 0.9183\n",
      "Epoch: 286/300 Train Loss: 0.5708 Accuracy: 0.9686 Time: 10.00184  | Val Loss: 0.7276 Accuracy: 0.9184\n",
      "Epoch: 287/300 Train Loss: 0.5726 Accuracy: 0.9674 Time: 10.18528  | Val Loss: 0.7267 Accuracy: 0.9187\n",
      "Epoch: 288/300 Train Loss: 0.5696 Accuracy: 0.9684 Time: 10.25332  | Val Loss: 0.7243 Accuracy: 0.9203\n",
      "Epoch: 289/300 Train Loss: 0.5718 Accuracy: 0.9684 Time: 10.25758  | Val Loss: 0.7217 Accuracy: 0.9190\n",
      "Epoch: 290/300 Train Loss: 0.5702 Accuracy: 0.9688 Time: 9.89221  | Val Loss: 0.7242 Accuracy: 0.9185\n",
      "Epoch: 291/300 Train Loss: 0.5716 Accuracy: 0.9685 Time: 9.92132  | Val Loss: 0.7277 Accuracy: 0.9179\n",
      "Epoch: 292/300 Train Loss: 0.5708 Accuracy: 0.9683 Time: 10.14072  | Val Loss: 0.7242 Accuracy: 0.9195\n",
      "Epoch: 293/300 Train Loss: 0.5713 Accuracy: 0.9683 Time: 10.11640  | Val Loss: 0.7243 Accuracy: 0.9179\n",
      "Epoch: 294/300 Train Loss: 0.5717 Accuracy: 0.9684 Time: 9.98168  | Val Loss: 0.7247 Accuracy: 0.9189\n",
      "Epoch: 295/300 Train Loss: 0.5709 Accuracy: 0.9687 Time: 10.09108  | Val Loss: 0.7226 Accuracy: 0.9191\n",
      "Epoch: 296/300 Train Loss: 0.5691 Accuracy: 0.9694 Time: 10.15941  | Val Loss: 0.7228 Accuracy: 0.9199\n",
      "Epoch: 297/300 Train Loss: 0.5690 Accuracy: 0.9693 Time: 10.24658  | Val Loss: 0.7236 Accuracy: 0.9186\n",
      "Epoch: 298/300 Train Loss: 0.5691 Accuracy: 0.9691 Time: 10.18671  | Val Loss: 0.7254 Accuracy: 0.9187\n",
      "Epoch: 299/300 Train Loss: 0.5687 Accuracy: 0.9699 Time: 10.19955  | Val Loss: 0.7245 Accuracy: 0.9194\n",
      "Epoch: 300/300 Train Loss: 0.5693 Accuracy: 0.9693 Time: 10.17571  | Val Loss: 0.7243 Accuracy: 0.9190\n"
     ]
    }
   ],
   "source": [
    "from hdd.train.warmup_scheduler import GradualWarmupScheduler\n",
    "from hdd.models.transformer.vit import ViT\n",
    "from hdd.train.classification_utils import naive_train_classification_model\n",
    "from hdd.models.nn_utils import count_trainable_parameter\n",
    "\n",
    "\n",
    "net = ViT(\n",
    "    num_classes=10,\n",
    "    image_size=32,\n",
    "    patch_size=4,\n",
    "    embed_dim=384,\n",
    "    n_heads=12,\n",
    "    diff_dim=384,\n",
    "    dropout=0.0,\n",
    "    num_layers=7,\n",
    ").to(DEVICE)\n",
    "print(f\"#Parameter: {count_trainable_parameter(net)}\")\n",
    "criteria = nn.CrossEntropyLoss(label_smoothing=0.1)\n",
    "optimizer = torch.optim.Adam(\n",
    "    net.parameters(), lr=1e-3, betas=(0.9, 0.999), weight_decay=1e-5\n",
    ")\n",
    "\n",
    "base_scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(\n",
    "    optimizer, max_epochs, eta_min=1e-5\n",
    ")\n",
    "scheduler = GradualWarmupScheduler(\n",
    "    optimizer,\n",
    "    multiplier=1.0,\n",
    "    total_epoch=10,\n",
    "    after_scheduler=base_scheduler,\n",
    ")\n",
    "patch_4 = naive_train_classification_model(\n",
    "    net,\n",
    "    criteria,\n",
    "    max_epochs,\n",
    "    train_dataloader,\n",
    "    val_dataloader,\n",
    "    DEVICE,\n",
    "    optimizer,\n",
    "    scheduler,\n",
    "    verbose=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "47f68002",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "#Parameter: 6306442\n",
      "Epoch: 1/300 Train Loss: 3.1279 Accuracy: 0.0942 Time: 3.56637  | Val Loss: 3.0449 Accuracy: 0.0869\n",
      "Epoch: 2/300 Train Loss: 2.2410 Accuracy: 0.1922 Time: 3.61331  | Val Loss: 2.0249 Accuracy: 0.2864\n",
      "Epoch: 3/300 Train Loss: 2.1134 Accuracy: 0.2432 Time: 3.59311  | Val Loss: 1.9284 Accuracy: 0.3316\n",
      "Epoch: 4/300 Train Loss: 2.0621 Accuracy: 0.2654 Time: 3.71425  | Val Loss: 1.9085 Accuracy: 0.3322\n",
      "Epoch: 5/300 Train Loss: 2.0156 Accuracy: 0.2886 Time: 3.60182  | Val Loss: 1.8586 Accuracy: 0.3677\n",
      "Epoch: 6/300 Train Loss: 1.9792 Accuracy: 0.3032 Time: 3.43660  | Val Loss: 1.8060 Accuracy: 0.3868\n",
      "Epoch: 7/300 Train Loss: 1.9354 Accuracy: 0.3302 Time: 3.38643  | Val Loss: 1.7572 Accuracy: 0.4231\n",
      "Epoch: 8/300 Train Loss: 1.8896 Accuracy: 0.3540 Time: 3.45931  | Val Loss: 1.7491 Accuracy: 0.4304\n",
      "Epoch: 9/300 Train Loss: 1.8585 Accuracy: 0.3696 Time: 3.51902  | Val Loss: 1.7137 Accuracy: 0.4481\n",
      "Epoch: 10/300 Train Loss: 1.8269 Accuracy: 0.3854 Time: 3.27143  | Val Loss: 1.6873 Accuracy: 0.4555\n",
      "Epoch: 11/300 Train Loss: 1.7953 Accuracy: 0.4015 Time: 3.48448  | Val Loss: 1.6554 Accuracy: 0.4769\n",
      "Epoch: 12/300 Train Loss: 1.7672 Accuracy: 0.4130 Time: 3.61823  | Val Loss: 1.6418 Accuracy: 0.4847\n",
      "Epoch: 13/300 Train Loss: 1.7359 Accuracy: 0.4331 Time: 3.62630  | Val Loss: 1.5949 Accuracy: 0.5003\n",
      "Epoch: 14/300 Train Loss: 1.7131 Accuracy: 0.4427 Time: 3.41652  | Val Loss: 1.5790 Accuracy: 0.5104\n",
      "Epoch: 15/300 Train Loss: 1.6903 Accuracy: 0.4513 Time: 3.69274  | Val Loss: 1.5742 Accuracy: 0.5095\n",
      "Epoch: 16/300 Train Loss: 1.6740 Accuracy: 0.4626 Time: 3.83677  | Val Loss: 1.5276 Accuracy: 0.5313\n",
      "Epoch: 17/300 Train Loss: 1.6512 Accuracy: 0.4722 Time: 3.51885  | Val Loss: 1.4949 Accuracy: 0.5465\n",
      "Epoch: 18/300 Train Loss: 1.6356 Accuracy: 0.4784 Time: 3.55402  | Val Loss: 1.4978 Accuracy: 0.5488\n",
      "Epoch: 19/300 Train Loss: 1.6194 Accuracy: 0.4891 Time: 3.58514  | Val Loss: 1.4555 Accuracy: 0.5653\n",
      "Epoch: 20/300 Train Loss: 1.5996 Accuracy: 0.4945 Time: 3.74236  | Val Loss: 1.4540 Accuracy: 0.5696\n",
      "Epoch: 21/300 Train Loss: 1.5866 Accuracy: 0.5022 Time: 3.48400  | Val Loss: 1.4470 Accuracy: 0.5699\n",
      "Epoch: 22/300 Train Loss: 1.5663 Accuracy: 0.5122 Time: 3.33438  | Val Loss: 1.4062 Accuracy: 0.5923\n",
      "Epoch: 23/300 Train Loss: 1.5538 Accuracy: 0.5201 Time: 3.39413  | Val Loss: 1.3947 Accuracy: 0.5988\n",
      "Epoch: 24/300 Train Loss: 1.5412 Accuracy: 0.5257 Time: 3.70357  | Val Loss: 1.3809 Accuracy: 0.6011\n",
      "Epoch: 25/300 Train Loss: 1.5252 Accuracy: 0.5320 Time: 3.71804  | Val Loss: 1.3488 Accuracy: 0.6184\n",
      "Epoch: 26/300 Train Loss: 1.5128 Accuracy: 0.5417 Time: 3.63123  | Val Loss: 1.3489 Accuracy: 0.6187\n",
      "Epoch: 27/300 Train Loss: 1.4955 Accuracy: 0.5472 Time: 3.67695  | Val Loss: 1.3401 Accuracy: 0.6270\n",
      "Epoch: 28/300 Train Loss: 1.4847 Accuracy: 0.5544 Time: 3.64468  | Val Loss: 1.3428 Accuracy: 0.6176\n",
      "Epoch: 29/300 Train Loss: 1.4761 Accuracy: 0.5574 Time: 3.57489  | Val Loss: 1.3189 Accuracy: 0.6316\n",
      "Epoch: 30/300 Train Loss: 1.4692 Accuracy: 0.5582 Time: 3.63840  | Val Loss: 1.3283 Accuracy: 0.6269\n",
      "Epoch: 31/300 Train Loss: 1.4540 Accuracy: 0.5684 Time: 3.56553  | Val Loss: 1.2961 Accuracy: 0.6410\n",
      "Epoch: 32/300 Train Loss: 1.4401 Accuracy: 0.5752 Time: 3.58420  | Val Loss: 1.2985 Accuracy: 0.6413\n",
      "Epoch: 33/300 Train Loss: 1.4327 Accuracy: 0.5782 Time: 3.86375  | Val Loss: 1.2903 Accuracy: 0.6476\n",
      "Epoch: 34/300 Train Loss: 1.4231 Accuracy: 0.5827 Time: 3.73401  | Val Loss: 1.2717 Accuracy: 0.6502\n",
      "Epoch: 35/300 Train Loss: 1.4117 Accuracy: 0.5867 Time: 3.47245  | Val Loss: 1.2671 Accuracy: 0.6538\n",
      "Epoch: 36/300 Train Loss: 1.4044 Accuracy: 0.5930 Time: 3.51399  | Val Loss: 1.2549 Accuracy: 0.6651\n",
      "Epoch: 37/300 Train Loss: 1.3917 Accuracy: 0.5976 Time: 3.56815  | Val Loss: 1.2546 Accuracy: 0.6625\n",
      "Epoch: 38/300 Train Loss: 1.3851 Accuracy: 0.6000 Time: 3.42947  | Val Loss: 1.2426 Accuracy: 0.6647\n",
      "Epoch: 39/300 Train Loss: 1.3753 Accuracy: 0.6065 Time: 3.61527  | Val Loss: 1.2386 Accuracy: 0.6680\n",
      "Epoch: 40/300 Train Loss: 1.3676 Accuracy: 0.6072 Time: 3.48661  | Val Loss: 1.2268 Accuracy: 0.6792\n",
      "Epoch: 41/300 Train Loss: 1.3601 Accuracy: 0.6115 Time: 3.43088  | Val Loss: 1.2190 Accuracy: 0.6774\n",
      "Epoch: 42/300 Train Loss: 1.3512 Accuracy: 0.6138 Time: 3.52537  | Val Loss: 1.2235 Accuracy: 0.6732\n",
      "Epoch: 43/300 Train Loss: 1.3436 Accuracy: 0.6208 Time: 3.48270  | Val Loss: 1.2081 Accuracy: 0.6844\n",
      "Epoch: 44/300 Train Loss: 1.3315 Accuracy: 0.6260 Time: 3.36775  | Val Loss: 1.1962 Accuracy: 0.6877\n",
      "Epoch: 45/300 Train Loss: 1.3247 Accuracy: 0.6269 Time: 3.58178  | Val Loss: 1.1980 Accuracy: 0.6814\n",
      "Epoch: 46/300 Train Loss: 1.3212 Accuracy: 0.6302 Time: 3.47862  | Val Loss: 1.1877 Accuracy: 0.6910\n",
      "Epoch: 47/300 Train Loss: 1.3111 Accuracy: 0.6347 Time: 3.44656  | Val Loss: 1.1865 Accuracy: 0.6936\n",
      "Epoch: 48/300 Train Loss: 1.3072 Accuracy: 0.6362 Time: 3.71831  | Val Loss: 1.1729 Accuracy: 0.6950\n",
      "Epoch: 49/300 Train Loss: 1.2979 Accuracy: 0.6400 Time: 3.23501  | Val Loss: 1.1559 Accuracy: 0.7052\n",
      "Epoch: 50/300 Train Loss: 1.2919 Accuracy: 0.6427 Time: 3.36016  | Val Loss: 1.1724 Accuracy: 0.6990\n",
      "Epoch: 51/300 Train Loss: 1.2865 Accuracy: 0.6452 Time: 3.11798  | Val Loss: 1.1560 Accuracy: 0.7076\n",
      "Epoch: 52/300 Train Loss: 1.2741 Accuracy: 0.6520 Time: 3.32422  | Val Loss: 1.1517 Accuracy: 0.7031\n",
      "Epoch: 53/300 Train Loss: 1.2743 Accuracy: 0.6516 Time: 3.65836  | Val Loss: 1.1420 Accuracy: 0.7100\n",
      "Epoch: 54/300 Train Loss: 1.2646 Accuracy: 0.6562 Time: 3.63415  | Val Loss: 1.1547 Accuracy: 0.7038\n",
      "Epoch: 55/300 Train Loss: 1.2615 Accuracy: 0.6583 Time: 3.63452  | Val Loss: 1.1251 Accuracy: 0.7161\n",
      "Epoch: 56/300 Train Loss: 1.2555 Accuracy: 0.6591 Time: 3.43088  | Val Loss: 1.1230 Accuracy: 0.7192\n",
      "Epoch: 57/300 Train Loss: 1.2468 Accuracy: 0.6648 Time: 3.57274  | Val Loss: 1.1160 Accuracy: 0.7231\n",
      "Epoch: 58/300 Train Loss: 1.2365 Accuracy: 0.6675 Time: 3.41622  | Val Loss: 1.1119 Accuracy: 0.7222\n",
      "Epoch: 59/300 Train Loss: 1.2359 Accuracy: 0.6679 Time: 3.67218  | Val Loss: 1.1137 Accuracy: 0.7209\n",
      "Epoch: 60/300 Train Loss: 1.2292 Accuracy: 0.6732 Time: 3.50860  | Val Loss: 1.1085 Accuracy: 0.7288\n",
      "Epoch: 61/300 Train Loss: 1.2214 Accuracy: 0.6732 Time: 3.57430  | Val Loss: 1.1051 Accuracy: 0.7323\n",
      "Epoch: 62/300 Train Loss: 1.2166 Accuracy: 0.6751 Time: 3.54193  | Val Loss: 1.0982 Accuracy: 0.7331\n",
      "Epoch: 63/300 Train Loss: 1.2097 Accuracy: 0.6815 Time: 3.54217  | Val Loss: 1.0842 Accuracy: 0.7409\n",
      "Epoch: 64/300 Train Loss: 1.2052 Accuracy: 0.6814 Time: 3.62595  | Val Loss: 1.0920 Accuracy: 0.7367\n",
      "Epoch: 65/300 Train Loss: 1.2014 Accuracy: 0.6857 Time: 3.56041  | Val Loss: 1.0864 Accuracy: 0.7371\n",
      "Epoch: 66/300 Train Loss: 1.1927 Accuracy: 0.6873 Time: 3.76602  | Val Loss: 1.0798 Accuracy: 0.7426\n",
      "Epoch: 67/300 Train Loss: 1.1887 Accuracy: 0.6893 Time: 3.45053  | Val Loss: 1.0826 Accuracy: 0.7383\n",
      "Epoch: 68/300 Train Loss: 1.1805 Accuracy: 0.6964 Time: 3.51895  | Val Loss: 1.0840 Accuracy: 0.7383\n",
      "Epoch: 69/300 Train Loss: 1.1769 Accuracy: 0.6952 Time: 3.67116  | Val Loss: 1.0742 Accuracy: 0.7443\n",
      "Epoch: 70/300 Train Loss: 1.1743 Accuracy: 0.6983 Time: 3.60962  | Val Loss: 1.0663 Accuracy: 0.7443\n",
      "Epoch: 71/300 Train Loss: 1.1705 Accuracy: 0.6981 Time: 3.46294  | Val Loss: 1.0638 Accuracy: 0.7471\n",
      "Epoch: 72/300 Train Loss: 1.1621 Accuracy: 0.7034 Time: 3.64663  | Val Loss: 1.0592 Accuracy: 0.7571\n",
      "Epoch: 73/300 Train Loss: 1.1557 Accuracy: 0.7059 Time: 3.58998  | Val Loss: 1.0540 Accuracy: 0.7542\n",
      "Epoch: 74/300 Train Loss: 1.1559 Accuracy: 0.7052 Time: 3.50462  | Val Loss: 1.0578 Accuracy: 0.7527\n",
      "Epoch: 75/300 Train Loss: 1.1477 Accuracy: 0.7102 Time: 3.61080  | Val Loss: 1.0486 Accuracy: 0.7559\n",
      "Epoch: 76/300 Train Loss: 1.1412 Accuracy: 0.7114 Time: 3.48728  | Val Loss: 1.0502 Accuracy: 0.7560\n",
      "Epoch: 77/300 Train Loss: 1.1412 Accuracy: 0.7139 Time: 3.71631  | Val Loss: 1.0438 Accuracy: 0.7576\n",
      "Epoch: 78/300 Train Loss: 1.1367 Accuracy: 0.7158 Time: 3.69621  | Val Loss: 1.0442 Accuracy: 0.7575\n",
      "Epoch: 79/300 Train Loss: 1.1285 Accuracy: 0.7182 Time: 3.63246  | Val Loss: 1.0359 Accuracy: 0.7619\n",
      "Epoch: 80/300 Train Loss: 1.1247 Accuracy: 0.7209 Time: 3.36935  | Val Loss: 1.0341 Accuracy: 0.7610\n",
      "Epoch: 81/300 Train Loss: 1.1205 Accuracy: 0.7198 Time: 3.55713  | Val Loss: 1.0328 Accuracy: 0.7615\n",
      "Epoch: 82/300 Train Loss: 1.1196 Accuracy: 0.7204 Time: 3.60103  | Val Loss: 1.0295 Accuracy: 0.7629\n",
      "Epoch: 83/300 Train Loss: 1.1108 Accuracy: 0.7259 Time: 3.53330  | Val Loss: 1.0323 Accuracy: 0.7655\n",
      "Epoch: 84/300 Train Loss: 1.1061 Accuracy: 0.7299 Time: 3.71264  | Val Loss: 1.0293 Accuracy: 0.7679\n",
      "Epoch: 85/300 Train Loss: 1.1005 Accuracy: 0.7276 Time: 3.59619  | Val Loss: 1.0259 Accuracy: 0.7688\n",
      "Epoch: 86/300 Train Loss: 1.0963 Accuracy: 0.7308 Time: 3.34328  | Val Loss: 1.0214 Accuracy: 0.7734\n",
      "Epoch: 87/300 Train Loss: 1.0946 Accuracy: 0.7322 Time: 3.53697  | Val Loss: 1.0271 Accuracy: 0.7668\n",
      "Epoch: 88/300 Train Loss: 1.0868 Accuracy: 0.7376 Time: 3.38327  | Val Loss: 1.0146 Accuracy: 0.7727\n",
      "Epoch: 89/300 Train Loss: 1.0820 Accuracy: 0.7410 Time: 3.48559  | Val Loss: 1.0079 Accuracy: 0.7740\n",
      "Epoch: 90/300 Train Loss: 1.0806 Accuracy: 0.7406 Time: 3.54828  | Val Loss: 1.0099 Accuracy: 0.7736\n",
      "Epoch: 91/300 Train Loss: 1.0737 Accuracy: 0.7425 Time: 3.70806  | Val Loss: 1.0057 Accuracy: 0.7770\n",
      "Epoch: 92/300 Train Loss: 1.0717 Accuracy: 0.7453 Time: 3.71444  | Val Loss: 1.0062 Accuracy: 0.7769\n",
      "Epoch: 93/300 Train Loss: 1.0688 Accuracy: 0.7451 Time: 3.61749  | Val Loss: 1.0057 Accuracy: 0.7811\n",
      "Epoch: 94/300 Train Loss: 1.0641 Accuracy: 0.7480 Time: 3.40133  | Val Loss: 0.9926 Accuracy: 0.7858\n",
      "Epoch: 95/300 Train Loss: 1.0564 Accuracy: 0.7505 Time: 3.19813  | Val Loss: 0.9964 Accuracy: 0.7837\n",
      "Epoch: 96/300 Train Loss: 1.0596 Accuracy: 0.7499 Time: 3.34696  | Val Loss: 1.0044 Accuracy: 0.7797\n",
      "Epoch: 97/300 Train Loss: 1.0509 Accuracy: 0.7518 Time: 3.38204  | Val Loss: 0.9931 Accuracy: 0.7861\n",
      "Epoch: 98/300 Train Loss: 1.0464 Accuracy: 0.7549 Time: 3.22576  | Val Loss: 0.9874 Accuracy: 0.7836\n",
      "Epoch: 99/300 Train Loss: 1.0447 Accuracy: 0.7553 Time: 3.47814  | Val Loss: 0.9917 Accuracy: 0.7853\n",
      "Epoch: 100/300 Train Loss: 1.0388 Accuracy: 0.7577 Time: 3.49944  | Val Loss: 0.9968 Accuracy: 0.7821\n",
      "Epoch: 101/300 Train Loss: 1.0319 Accuracy: 0.7637 Time: 3.61213  | Val Loss: 0.9861 Accuracy: 0.7866\n",
      "Epoch: 102/300 Train Loss: 1.0291 Accuracy: 0.7631 Time: 3.51052  | Val Loss: 0.9752 Accuracy: 0.7871\n",
      "Epoch: 103/300 Train Loss: 1.0296 Accuracy: 0.7645 Time: 3.92462  | Val Loss: 0.9725 Accuracy: 0.7930\n",
      "Epoch: 104/300 Train Loss: 1.0229 Accuracy: 0.7686 Time: 3.54529  | Val Loss: 0.9787 Accuracy: 0.7890\n",
      "Epoch: 105/300 Train Loss: 1.0237 Accuracy: 0.7665 Time: 3.29991  | Val Loss: 0.9751 Accuracy: 0.7889\n",
      "Epoch: 106/300 Train Loss: 1.0190 Accuracy: 0.7683 Time: 3.16188  | Val Loss: 0.9735 Accuracy: 0.7916\n",
      "Epoch: 107/300 Train Loss: 1.0192 Accuracy: 0.7670 Time: 3.63426  | Val Loss: 0.9826 Accuracy: 0.7863\n",
      "Epoch: 108/300 Train Loss: 1.0138 Accuracy: 0.7717 Time: 3.36738  | Val Loss: 0.9803 Accuracy: 0.7928\n",
      "Epoch: 109/300 Train Loss: 1.0057 Accuracy: 0.7737 Time: 3.56262  | Val Loss: 0.9749 Accuracy: 0.7914\n",
      "Epoch: 110/300 Train Loss: 1.0061 Accuracy: 0.7736 Time: 3.27275  | Val Loss: 0.9725 Accuracy: 0.7889\n",
      "Epoch: 111/300 Train Loss: 1.0048 Accuracy: 0.7753 Time: 3.57307  | Val Loss: 0.9759 Accuracy: 0.7935\n",
      "Epoch: 112/300 Train Loss: 0.9962 Accuracy: 0.7803 Time: 3.18325  | Val Loss: 0.9707 Accuracy: 0.7939\n",
      "Epoch: 113/300 Train Loss: 0.9893 Accuracy: 0.7822 Time: 3.46097  | Val Loss: 0.9726 Accuracy: 0.7934\n",
      "Epoch: 114/300 Train Loss: 0.9921 Accuracy: 0.7797 Time: 3.46867  | Val Loss: 0.9609 Accuracy: 0.7958\n",
      "Epoch: 115/300 Train Loss: 0.9868 Accuracy: 0.7830 Time: 3.36155  | Val Loss: 0.9711 Accuracy: 0.7921\n",
      "Epoch: 116/300 Train Loss: 0.9839 Accuracy: 0.7848 Time: 3.47963  | Val Loss: 0.9627 Accuracy: 0.7963\n",
      "Epoch: 117/300 Train Loss: 0.9805 Accuracy: 0.7856 Time: 3.56001  | Val Loss: 0.9631 Accuracy: 0.7982\n",
      "Epoch: 118/300 Train Loss: 0.9765 Accuracy: 0.7875 Time: 3.14342  | Val Loss: 0.9619 Accuracy: 0.7978\n",
      "Epoch: 119/300 Train Loss: 0.9727 Accuracy: 0.7898 Time: 3.35054  | Val Loss: 0.9589 Accuracy: 0.7969\n",
      "Epoch: 120/300 Train Loss: 0.9703 Accuracy: 0.7907 Time: 3.29056  | Val Loss: 0.9545 Accuracy: 0.7976\n",
      "Epoch: 121/300 Train Loss: 0.9681 Accuracy: 0.7923 Time: 3.54114  | Val Loss: 0.9556 Accuracy: 0.7986\n",
      "Epoch: 122/300 Train Loss: 0.9638 Accuracy: 0.7935 Time: 3.07263  | Val Loss: 0.9550 Accuracy: 0.8023\n",
      "Epoch: 123/300 Train Loss: 0.9579 Accuracy: 0.7967 Time: 3.13515  | Val Loss: 0.9600 Accuracy: 0.8009\n",
      "Epoch: 124/300 Train Loss: 0.9657 Accuracy: 0.7930 Time: 3.36971  | Val Loss: 0.9501 Accuracy: 0.8025\n",
      "Epoch: 125/300 Train Loss: 0.9551 Accuracy: 0.7964 Time: 3.44607  | Val Loss: 0.9518 Accuracy: 0.8053\n",
      "Epoch: 126/300 Train Loss: 0.9576 Accuracy: 0.7982 Time: 3.35975  | Val Loss: 0.9558 Accuracy: 0.8014\n",
      "Epoch: 127/300 Train Loss: 0.9515 Accuracy: 0.7991 Time: 3.25763  | Val Loss: 0.9484 Accuracy: 0.8041\n",
      "Epoch: 128/300 Train Loss: 0.9485 Accuracy: 0.8009 Time: 3.40622  | Val Loss: 0.9513 Accuracy: 0.8031\n",
      "Epoch: 129/300 Train Loss: 0.9408 Accuracy: 0.8050 Time: 3.19316  | Val Loss: 0.9515 Accuracy: 0.8062\n",
      "Epoch: 130/300 Train Loss: 0.9391 Accuracy: 0.8041 Time: 3.03853  | Val Loss: 0.9451 Accuracy: 0.8081\n",
      "Epoch: 131/300 Train Loss: 0.9404 Accuracy: 0.8054 Time: 3.52580  | Val Loss: 0.9500 Accuracy: 0.8049\n",
      "Epoch: 132/300 Train Loss: 0.9381 Accuracy: 0.8053 Time: 3.09174  | Val Loss: 0.9546 Accuracy: 0.8034\n",
      "Epoch: 133/300 Train Loss: 0.9352 Accuracy: 0.8054 Time: 3.43538  | Val Loss: 0.9488 Accuracy: 0.8055\n",
      "Epoch: 134/300 Train Loss: 0.9335 Accuracy: 0.8079 Time: 3.53176  | Val Loss: 0.9500 Accuracy: 0.8022\n",
      "Epoch: 135/300 Train Loss: 0.9286 Accuracy: 0.8104 Time: 3.48243  | Val Loss: 0.9475 Accuracy: 0.8083\n",
      "Epoch: 136/300 Train Loss: 0.9244 Accuracy: 0.8123 Time: 3.21690  | Val Loss: 0.9411 Accuracy: 0.8127\n",
      "Epoch: 137/300 Train Loss: 0.9234 Accuracy: 0.8113 Time: 3.32663  | Val Loss: 0.9390 Accuracy: 0.8091\n",
      "Epoch: 138/300 Train Loss: 0.9161 Accuracy: 0.8159 Time: 3.43260  | Val Loss: 0.9460 Accuracy: 0.8071\n",
      "Epoch: 139/300 Train Loss: 0.9151 Accuracy: 0.8163 Time: 3.46416  | Val Loss: 0.9382 Accuracy: 0.8062\n",
      "Epoch: 140/300 Train Loss: 0.9137 Accuracy: 0.8176 Time: 3.58920  | Val Loss: 0.9466 Accuracy: 0.8091\n",
      "Epoch: 141/300 Train Loss: 0.9100 Accuracy: 0.8186 Time: 3.47509  | Val Loss: 0.9528 Accuracy: 0.8046\n",
      "Epoch: 142/300 Train Loss: 0.9104 Accuracy: 0.8183 Time: 3.26209  | Val Loss: 0.9430 Accuracy: 0.8131\n",
      "Epoch: 143/300 Train Loss: 0.9061 Accuracy: 0.8197 Time: 3.51812  | Val Loss: 0.9433 Accuracy: 0.8104\n",
      "Epoch: 144/300 Train Loss: 0.9059 Accuracy: 0.8200 Time: 3.28194  | Val Loss: 0.9298 Accuracy: 0.8126\n",
      "Epoch: 145/300 Train Loss: 0.8999 Accuracy: 0.8220 Time: 3.34162  | Val Loss: 0.9383 Accuracy: 0.8130\n",
      "Epoch: 146/300 Train Loss: 0.9024 Accuracy: 0.8207 Time: 3.27461  | Val Loss: 0.9342 Accuracy: 0.8140\n",
      "Epoch: 147/300 Train Loss: 0.8965 Accuracy: 0.8239 Time: 3.19530  | Val Loss: 0.9332 Accuracy: 0.8150\n",
      "Epoch: 148/300 Train Loss: 0.8941 Accuracy: 0.8248 Time: 3.50606  | Val Loss: 0.9313 Accuracy: 0.8178\n",
      "Epoch: 149/300 Train Loss: 0.8919 Accuracy: 0.8269 Time: 3.50823  | Val Loss: 0.9337 Accuracy: 0.8156\n",
      "Epoch: 150/300 Train Loss: 0.8898 Accuracy: 0.8278 Time: 3.28827  | Val Loss: 0.9405 Accuracy: 0.8136\n",
      "Epoch: 151/300 Train Loss: 0.8920 Accuracy: 0.8267 Time: 3.49058  | Val Loss: 0.9340 Accuracy: 0.8148\n",
      "Epoch: 152/300 Train Loss: 0.8855 Accuracy: 0.8299 Time: 3.43496  | Val Loss: 0.9308 Accuracy: 0.8194\n",
      "Epoch: 153/300 Train Loss: 0.8798 Accuracy: 0.8320 Time: 3.48024  | Val Loss: 0.9289 Accuracy: 0.8168\n",
      "Epoch: 154/300 Train Loss: 0.8739 Accuracy: 0.8345 Time: 3.39561  | Val Loss: 0.9449 Accuracy: 0.8130\n",
      "Epoch: 155/300 Train Loss: 0.8842 Accuracy: 0.8305 Time: 3.56163  | Val Loss: 0.9338 Accuracy: 0.8165\n",
      "Epoch: 156/300 Train Loss: 0.8783 Accuracy: 0.8320 Time: 3.43754  | Val Loss: 0.9314 Accuracy: 0.8183\n",
      "Epoch: 157/300 Train Loss: 0.8733 Accuracy: 0.8336 Time: 3.14443  | Val Loss: 0.9266 Accuracy: 0.8150\n",
      "Epoch: 158/300 Train Loss: 0.8673 Accuracy: 0.8384 Time: 3.00187  | Val Loss: 0.9231 Accuracy: 0.8172\n",
      "Epoch: 159/300 Train Loss: 0.8716 Accuracy: 0.8351 Time: 3.15268  | Val Loss: 0.9314 Accuracy: 0.8195\n",
      "Epoch: 160/300 Train Loss: 0.8613 Accuracy: 0.8399 Time: 3.41615  | Val Loss: 0.9258 Accuracy: 0.8205\n",
      "Epoch: 161/300 Train Loss: 0.8617 Accuracy: 0.8394 Time: 3.06342  | Val Loss: 0.9354 Accuracy: 0.8189\n",
      "Epoch: 162/300 Train Loss: 0.8646 Accuracy: 0.8399 Time: 3.26840  | Val Loss: 0.9230 Accuracy: 0.8174\n",
      "Epoch: 163/300 Train Loss: 0.8656 Accuracy: 0.8386 Time: 3.37915  | Val Loss: 0.9192 Accuracy: 0.8220\n",
      "Epoch: 164/300 Train Loss: 0.8589 Accuracy: 0.8423 Time: 3.24463  | Val Loss: 0.9173 Accuracy: 0.8282\n",
      "Epoch: 165/300 Train Loss: 0.8562 Accuracy: 0.8420 Time: 3.32466  | Val Loss: 0.9215 Accuracy: 0.8213\n",
      "Epoch: 166/300 Train Loss: 0.8490 Accuracy: 0.8465 Time: 3.47058  | Val Loss: 0.9182 Accuracy: 0.8248\n",
      "Epoch: 167/300 Train Loss: 0.8521 Accuracy: 0.8454 Time: 3.59539  | Val Loss: 0.9183 Accuracy: 0.8274\n",
      "Epoch: 168/300 Train Loss: 0.8503 Accuracy: 0.8468 Time: 3.48126  | Val Loss: 0.9172 Accuracy: 0.8234\n",
      "Epoch: 169/300 Train Loss: 0.8498 Accuracy: 0.8446 Time: 3.08270  | Val Loss: 0.9161 Accuracy: 0.8236\n",
      "Epoch: 170/300 Train Loss: 0.8513 Accuracy: 0.8432 Time: 3.32847  | Val Loss: 0.9141 Accuracy: 0.8230\n",
      "Epoch: 171/300 Train Loss: 0.8463 Accuracy: 0.8476 Time: 3.32760  | Val Loss: 0.9236 Accuracy: 0.8200\n",
      "Epoch: 172/300 Train Loss: 0.8435 Accuracy: 0.8489 Time: 3.41406  | Val Loss: 0.9252 Accuracy: 0.8182\n",
      "Epoch: 173/300 Train Loss: 0.8443 Accuracy: 0.8480 Time: 3.39186  | Val Loss: 0.9222 Accuracy: 0.8233\n",
      "Epoch: 174/300 Train Loss: 0.8405 Accuracy: 0.8511 Time: 3.28524  | Val Loss: 0.9250 Accuracy: 0.8209\n",
      "Epoch: 175/300 Train Loss: 0.8368 Accuracy: 0.8511 Time: 3.60250  | Val Loss: 0.9185 Accuracy: 0.8242\n",
      "Epoch: 176/300 Train Loss: 0.8379 Accuracy: 0.8516 Time: 3.38482  | Val Loss: 0.9242 Accuracy: 0.8234\n",
      "Epoch: 177/300 Train Loss: 0.8313 Accuracy: 0.8544 Time: 3.21293  | Val Loss: 0.9238 Accuracy: 0.8254\n",
      "Epoch: 178/300 Train Loss: 0.8322 Accuracy: 0.8554 Time: 3.20196  | Val Loss: 0.9240 Accuracy: 0.8221\n",
      "Epoch: 179/300 Train Loss: 0.8304 Accuracy: 0.8551 Time: 3.34648  | Val Loss: 0.9263 Accuracy: 0.8230\n",
      "Epoch: 180/300 Train Loss: 0.8322 Accuracy: 0.8544 Time: 3.11434  | Val Loss: 0.9244 Accuracy: 0.8242\n",
      "Epoch: 181/300 Train Loss: 0.8222 Accuracy: 0.8590 Time: 3.40590  | Val Loss: 0.9171 Accuracy: 0.8247\n",
      "Epoch: 182/300 Train Loss: 0.8230 Accuracy: 0.8579 Time: 3.10603  | Val Loss: 0.9158 Accuracy: 0.8277\n",
      "Epoch: 183/300 Train Loss: 0.8240 Accuracy: 0.8581 Time: 3.51892  | Val Loss: 0.9214 Accuracy: 0.8255\n",
      "Epoch: 184/300 Train Loss: 0.8216 Accuracy: 0.8591 Time: 3.33295  | Val Loss: 0.9213 Accuracy: 0.8244\n",
      "Epoch: 185/300 Train Loss: 0.8194 Accuracy: 0.8586 Time: 3.51492  | Val Loss: 0.9184 Accuracy: 0.8224\n",
      "Epoch: 186/300 Train Loss: 0.8169 Accuracy: 0.8603 Time: 3.30226  | Val Loss: 0.9165 Accuracy: 0.8239\n",
      "Epoch: 187/300 Train Loss: 0.8152 Accuracy: 0.8615 Time: 3.28328  | Val Loss: 0.9232 Accuracy: 0.8199\n",
      "Epoch: 188/300 Train Loss: 0.8116 Accuracy: 0.8643 Time: 3.28113  | Val Loss: 0.9180 Accuracy: 0.8272\n",
      "Epoch: 189/300 Train Loss: 0.8103 Accuracy: 0.8647 Time: 3.52248  | Val Loss: 0.9224 Accuracy: 0.8222\n",
      "Epoch: 190/300 Train Loss: 0.8092 Accuracy: 0.8668 Time: 3.45952  | Val Loss: 0.9158 Accuracy: 0.8261\n",
      "Epoch: 191/300 Train Loss: 0.8122 Accuracy: 0.8624 Time: 3.21471  | Val Loss: 0.9172 Accuracy: 0.8249\n",
      "Epoch: 192/300 Train Loss: 0.8072 Accuracy: 0.8651 Time: 3.67978  | Val Loss: 0.9099 Accuracy: 0.8283\n",
      "Epoch: 193/300 Train Loss: 0.8013 Accuracy: 0.8698 Time: 3.27825  | Val Loss: 0.9229 Accuracy: 0.8250\n",
      "Epoch: 194/300 Train Loss: 0.8043 Accuracy: 0.8674 Time: 3.47235  | Val Loss: 0.9114 Accuracy: 0.8288\n",
      "Epoch: 195/300 Train Loss: 0.8034 Accuracy: 0.8665 Time: 3.55950  | Val Loss: 0.9197 Accuracy: 0.8263\n",
      "Epoch: 196/300 Train Loss: 0.8027 Accuracy: 0.8683 Time: 3.04886  | Val Loss: 0.9114 Accuracy: 0.8275\n",
      "Epoch: 197/300 Train Loss: 0.8032 Accuracy: 0.8676 Time: 3.49432  | Val Loss: 0.9090 Accuracy: 0.8285\n",
      "Epoch: 198/300 Train Loss: 0.7951 Accuracy: 0.8721 Time: 3.58812  | Val Loss: 0.9139 Accuracy: 0.8266\n",
      "Epoch: 199/300 Train Loss: 0.7994 Accuracy: 0.8680 Time: 3.46750  | Val Loss: 0.9105 Accuracy: 0.8291\n",
      "Epoch: 200/300 Train Loss: 0.7952 Accuracy: 0.8722 Time: 3.51154  | Val Loss: 0.9120 Accuracy: 0.8294\n",
      "Epoch: 201/300 Train Loss: 0.7997 Accuracy: 0.8679 Time: 3.54573  | Val Loss: 0.9129 Accuracy: 0.8280\n",
      "Epoch: 202/300 Train Loss: 0.7970 Accuracy: 0.8702 Time: 3.42770  | Val Loss: 0.9100 Accuracy: 0.8271\n",
      "Epoch: 203/300 Train Loss: 0.7878 Accuracy: 0.8752 Time: 3.46568  | Val Loss: 0.9106 Accuracy: 0.8312\n",
      "Epoch: 204/300 Train Loss: 0.7916 Accuracy: 0.8728 Time: 3.02573  | Val Loss: 0.9117 Accuracy: 0.8299\n",
      "Epoch: 205/300 Train Loss: 0.7911 Accuracy: 0.8730 Time: 3.04656  | Val Loss: 0.9091 Accuracy: 0.8298\n",
      "Epoch: 206/300 Train Loss: 0.7885 Accuracy: 0.8741 Time: 3.15640  | Val Loss: 0.9075 Accuracy: 0.8278\n",
      "Epoch: 207/300 Train Loss: 0.7928 Accuracy: 0.8715 Time: 3.02005  | Val Loss: 0.9111 Accuracy: 0.8284\n",
      "Epoch: 208/300 Train Loss: 0.7871 Accuracy: 0.8758 Time: 3.42381  | Val Loss: 0.9097 Accuracy: 0.8296\n",
      "Epoch: 209/300 Train Loss: 0.7852 Accuracy: 0.8745 Time: 3.05606  | Val Loss: 0.9068 Accuracy: 0.8294\n",
      "Epoch: 210/300 Train Loss: 0.7837 Accuracy: 0.8777 Time: 3.29003  | Val Loss: 0.9062 Accuracy: 0.8325\n",
      "Epoch: 211/300 Train Loss: 0.7802 Accuracy: 0.8783 Time: 2.99396  | Val Loss: 0.9102 Accuracy: 0.8321\n",
      "Epoch: 212/300 Train Loss: 0.7775 Accuracy: 0.8790 Time: 3.24179  | Val Loss: 0.9081 Accuracy: 0.8310\n",
      "Epoch: 213/300 Train Loss: 0.7836 Accuracy: 0.8762 Time: 3.40442  | Val Loss: 0.9032 Accuracy: 0.8307\n",
      "Epoch: 214/300 Train Loss: 0.7807 Accuracy: 0.8762 Time: 3.48620  | Val Loss: 0.9060 Accuracy: 0.8325\n",
      "Epoch: 215/300 Train Loss: 0.7743 Accuracy: 0.8816 Time: 3.34806  | Val Loss: 0.9126 Accuracy: 0.8290\n",
      "Epoch: 216/300 Train Loss: 0.7741 Accuracy: 0.8809 Time: 3.30878  | Val Loss: 0.9032 Accuracy: 0.8332\n",
      "Epoch: 217/300 Train Loss: 0.7708 Accuracy: 0.8818 Time: 3.42346  | Val Loss: 0.9098 Accuracy: 0.8295\n",
      "Epoch: 218/300 Train Loss: 0.7801 Accuracy: 0.8777 Time: 3.52886  | Val Loss: 0.9082 Accuracy: 0.8281\n",
      "Epoch: 219/300 Train Loss: 0.7727 Accuracy: 0.8809 Time: 3.32620  | Val Loss: 0.9160 Accuracy: 0.8323\n",
      "Epoch: 220/300 Train Loss: 0.7671 Accuracy: 0.8839 Time: 3.11402  | Val Loss: 0.9095 Accuracy: 0.8326\n",
      "Epoch: 221/300 Train Loss: 0.7673 Accuracy: 0.8842 Time: 3.22781  | Val Loss: 0.9070 Accuracy: 0.8337\n",
      "Epoch: 222/300 Train Loss: 0.7709 Accuracy: 0.8825 Time: 3.41008  | Val Loss: 0.9044 Accuracy: 0.8322\n",
      "Epoch: 223/300 Train Loss: 0.7669 Accuracy: 0.8839 Time: 3.07903  | Val Loss: 0.9104 Accuracy: 0.8333\n",
      "Epoch: 224/300 Train Loss: 0.7710 Accuracy: 0.8831 Time: 3.42734  | Val Loss: 0.9026 Accuracy: 0.8326\n",
      "Epoch: 225/300 Train Loss: 0.7648 Accuracy: 0.8863 Time: 3.39189  | Val Loss: 0.9115 Accuracy: 0.8296\n",
      "Epoch: 226/300 Train Loss: 0.7654 Accuracy: 0.8843 Time: 3.36105  | Val Loss: 0.9030 Accuracy: 0.8334\n",
      "Epoch: 227/300 Train Loss: 0.7654 Accuracy: 0.8858 Time: 3.49767  | Val Loss: 0.9084 Accuracy: 0.8312\n",
      "Epoch: 228/300 Train Loss: 0.7635 Accuracy: 0.8850 Time: 3.33489  | Val Loss: 0.9025 Accuracy: 0.8336\n",
      "Epoch: 229/300 Train Loss: 0.7633 Accuracy: 0.8855 Time: 3.48534  | Val Loss: 0.9037 Accuracy: 0.8344\n",
      "Epoch: 230/300 Train Loss: 0.7608 Accuracy: 0.8864 Time: 3.44582  | Val Loss: 0.9051 Accuracy: 0.8338\n",
      "Epoch: 231/300 Train Loss: 0.7551 Accuracy: 0.8895 Time: 3.44695  | Val Loss: 0.9084 Accuracy: 0.8335\n",
      "Epoch: 232/300 Train Loss: 0.7590 Accuracy: 0.8887 Time: 3.44303  | Val Loss: 0.9054 Accuracy: 0.8332\n",
      "Epoch: 233/300 Train Loss: 0.7578 Accuracy: 0.8885 Time: 3.05641  | Val Loss: 0.9039 Accuracy: 0.8367\n",
      "Epoch: 234/300 Train Loss: 0.7567 Accuracy: 0.8895 Time: 3.38474  | Val Loss: 0.9059 Accuracy: 0.8327\n",
      "Epoch: 235/300 Train Loss: 0.7543 Accuracy: 0.8888 Time: 3.58986  | Val Loss: 0.9053 Accuracy: 0.8330\n",
      "Epoch: 236/300 Train Loss: 0.7532 Accuracy: 0.8915 Time: 3.56654  | Val Loss: 0.9068 Accuracy: 0.8370\n",
      "Epoch: 237/300 Train Loss: 0.7575 Accuracy: 0.8884 Time: 3.02578  | Val Loss: 0.9014 Accuracy: 0.8371\n",
      "Epoch: 238/300 Train Loss: 0.7553 Accuracy: 0.8894 Time: 3.28645  | Val Loss: 0.9028 Accuracy: 0.8348\n",
      "Epoch: 239/300 Train Loss: 0.7539 Accuracy: 0.8896 Time: 3.41157  | Val Loss: 0.8998 Accuracy: 0.8366\n",
      "Epoch: 240/300 Train Loss: 0.7456 Accuracy: 0.8936 Time: 3.09591  | Val Loss: 0.9047 Accuracy: 0.8365\n",
      "Epoch: 241/300 Train Loss: 0.7517 Accuracy: 0.8919 Time: 3.41260  | Val Loss: 0.9007 Accuracy: 0.8333\n",
      "Epoch: 242/300 Train Loss: 0.7467 Accuracy: 0.8937 Time: 3.37400  | Val Loss: 0.8989 Accuracy: 0.8374\n",
      "Epoch: 243/300 Train Loss: 0.7483 Accuracy: 0.8929 Time: 3.30080  | Val Loss: 0.9014 Accuracy: 0.8355\n",
      "Epoch: 244/300 Train Loss: 0.7477 Accuracy: 0.8919 Time: 3.04755  | Val Loss: 0.8998 Accuracy: 0.8382\n",
      "Epoch: 245/300 Train Loss: 0.7449 Accuracy: 0.8936 Time: 3.15653  | Val Loss: 0.9006 Accuracy: 0.8363\n",
      "Epoch: 246/300 Train Loss: 0.7482 Accuracy: 0.8936 Time: 3.44157  | Val Loss: 0.9023 Accuracy: 0.8370\n",
      "Epoch: 247/300 Train Loss: 0.7476 Accuracy: 0.8926 Time: 3.57604  | Val Loss: 0.9026 Accuracy: 0.8382\n",
      "Epoch: 248/300 Train Loss: 0.7467 Accuracy: 0.8935 Time: 3.44100  | Val Loss: 0.9032 Accuracy: 0.8360\n",
      "Epoch: 249/300 Train Loss: 0.7483 Accuracy: 0.8926 Time: 3.44858  | Val Loss: 0.8987 Accuracy: 0.8359\n",
      "Epoch: 250/300 Train Loss: 0.7447 Accuracy: 0.8944 Time: 3.46201  | Val Loss: 0.8990 Accuracy: 0.8368\n",
      "Epoch: 251/300 Train Loss: 0.7376 Accuracy: 0.8977 Time: 2.96839  | Val Loss: 0.9028 Accuracy: 0.8359\n",
      "Epoch: 252/300 Train Loss: 0.7396 Accuracy: 0.8954 Time: 3.26543  | Val Loss: 0.8977 Accuracy: 0.8372\n",
      "Epoch: 253/300 Train Loss: 0.7401 Accuracy: 0.8979 Time: 3.39144  | Val Loss: 0.9001 Accuracy: 0.8374\n",
      "Epoch: 254/300 Train Loss: 0.7431 Accuracy: 0.8950 Time: 3.18283  | Val Loss: 0.8998 Accuracy: 0.8369\n",
      "Epoch: 255/300 Train Loss: 0.7392 Accuracy: 0.8969 Time: 3.07712  | Val Loss: 0.8987 Accuracy: 0.8355\n",
      "Epoch: 256/300 Train Loss: 0.7367 Accuracy: 0.8968 Time: 3.15143  | Val Loss: 0.8993 Accuracy: 0.8385\n",
      "Epoch: 257/300 Train Loss: 0.7365 Accuracy: 0.8970 Time: 3.41686  | Val Loss: 0.8945 Accuracy: 0.8406\n",
      "Epoch: 258/300 Train Loss: 0.7384 Accuracy: 0.8967 Time: 3.51495  | Val Loss: 0.8952 Accuracy: 0.8409\n",
      "Epoch: 259/300 Train Loss: 0.7377 Accuracy: 0.8973 Time: 3.13157  | Val Loss: 0.8955 Accuracy: 0.8393\n",
      "Epoch: 260/300 Train Loss: 0.7353 Accuracy: 0.8989 Time: 3.28982  | Val Loss: 0.8939 Accuracy: 0.8403\n",
      "Epoch: 261/300 Train Loss: 0.7324 Accuracy: 0.8989 Time: 3.58569  | Val Loss: 0.8959 Accuracy: 0.8393\n",
      "Epoch: 262/300 Train Loss: 0.7357 Accuracy: 0.8984 Time: 3.68688  | Val Loss: 0.8971 Accuracy: 0.8368\n",
      "Epoch: 263/300 Train Loss: 0.7335 Accuracy: 0.8992 Time: 3.75567  | Val Loss: 0.8979 Accuracy: 0.8393\n",
      "Epoch: 264/300 Train Loss: 0.7368 Accuracy: 0.8977 Time: 3.65124  | Val Loss: 0.8939 Accuracy: 0.8412\n",
      "Epoch: 265/300 Train Loss: 0.7328 Accuracy: 0.8998 Time: 3.64225  | Val Loss: 0.8987 Accuracy: 0.8400\n",
      "Epoch: 266/300 Train Loss: 0.7308 Accuracy: 0.8997 Time: 3.06445  | Val Loss: 0.8953 Accuracy: 0.8385\n",
      "Epoch: 267/300 Train Loss: 0.7295 Accuracy: 0.9015 Time: 3.51997  | Val Loss: 0.8970 Accuracy: 0.8382\n",
      "Epoch: 268/300 Train Loss: 0.7313 Accuracy: 0.9014 Time: 3.58882  | Val Loss: 0.8996 Accuracy: 0.8367\n",
      "Epoch: 269/300 Train Loss: 0.7302 Accuracy: 0.9003 Time: 3.44395  | Val Loss: 0.8985 Accuracy: 0.8388\n",
      "Epoch: 270/300 Train Loss: 0.7251 Accuracy: 0.9024 Time: 3.44604  | Val Loss: 0.9015 Accuracy: 0.8398\n",
      "Epoch: 271/300 Train Loss: 0.7360 Accuracy: 0.8976 Time: 3.33136  | Val Loss: 0.8951 Accuracy: 0.8400\n",
      "Epoch: 272/300 Train Loss: 0.7287 Accuracy: 0.9020 Time: 3.48192  | Val Loss: 0.8965 Accuracy: 0.8408\n",
      "Epoch: 273/300 Train Loss: 0.7305 Accuracy: 0.9010 Time: 3.54788  | Val Loss: 0.8954 Accuracy: 0.8407\n",
      "Epoch: 274/300 Train Loss: 0.7273 Accuracy: 0.9020 Time: 3.43375  | Val Loss: 0.8962 Accuracy: 0.8407\n",
      "Epoch: 275/300 Train Loss: 0.7247 Accuracy: 0.9034 Time: 3.35140  | Val Loss: 0.8927 Accuracy: 0.8426\n",
      "Epoch: 276/300 Train Loss: 0.7265 Accuracy: 0.9026 Time: 3.36579  | Val Loss: 0.8943 Accuracy: 0.8424\n",
      "Epoch: 277/300 Train Loss: 0.7233 Accuracy: 0.9059 Time: 3.56922  | Val Loss: 0.8938 Accuracy: 0.8402\n",
      "Epoch: 278/300 Train Loss: 0.7276 Accuracy: 0.9009 Time: 3.46410  | Val Loss: 0.8931 Accuracy: 0.8387\n",
      "Epoch: 279/300 Train Loss: 0.7252 Accuracy: 0.9037 Time: 3.32034  | Val Loss: 0.8937 Accuracy: 0.8417\n",
      "Epoch: 280/300 Train Loss: 0.7285 Accuracy: 0.9005 Time: 3.52310  | Val Loss: 0.8956 Accuracy: 0.8411\n",
      "Epoch: 281/300 Train Loss: 0.7234 Accuracy: 0.9028 Time: 3.36838  | Val Loss: 0.9003 Accuracy: 0.8383\n",
      "Epoch: 282/300 Train Loss: 0.7260 Accuracy: 0.9030 Time: 3.33660  | Val Loss: 0.8929 Accuracy: 0.8422\n",
      "Epoch: 283/300 Train Loss: 0.7239 Accuracy: 0.9023 Time: 3.63463  | Val Loss: 0.8980 Accuracy: 0.8400\n",
      "Epoch: 284/300 Train Loss: 0.7212 Accuracy: 0.9048 Time: 3.43478  | Val Loss: 0.8910 Accuracy: 0.8409\n",
      "Epoch: 285/300 Train Loss: 0.7209 Accuracy: 0.9044 Time: 3.39768  | Val Loss: 0.8937 Accuracy: 0.8404\n",
      "Epoch: 286/300 Train Loss: 0.7221 Accuracy: 0.9038 Time: 2.95134  | Val Loss: 0.8951 Accuracy: 0.8401\n",
      "Epoch: 287/300 Train Loss: 0.7168 Accuracy: 0.9074 Time: 3.31060  | Val Loss: 0.8947 Accuracy: 0.8407\n",
      "Epoch: 288/300 Train Loss: 0.7205 Accuracy: 0.9051 Time: 3.62106  | Val Loss: 0.8946 Accuracy: 0.8422\n",
      "Epoch: 289/300 Train Loss: 0.7214 Accuracy: 0.9049 Time: 3.53359  | Val Loss: 0.8934 Accuracy: 0.8417\n",
      "Epoch: 290/300 Train Loss: 0.7236 Accuracy: 0.9033 Time: 3.22740  | Val Loss: 0.8943 Accuracy: 0.8422\n",
      "Epoch: 291/300 Train Loss: 0.7199 Accuracy: 0.9060 Time: 3.17462  | Val Loss: 0.8921 Accuracy: 0.8436\n",
      "Epoch: 292/300 Train Loss: 0.7185 Accuracy: 0.9059 Time: 3.28876  | Val Loss: 0.8942 Accuracy: 0.8413\n",
      "Epoch: 293/300 Train Loss: 0.7228 Accuracy: 0.9037 Time: 3.33615  | Val Loss: 0.8965 Accuracy: 0.8400\n",
      "Epoch: 294/300 Train Loss: 0.7193 Accuracy: 0.9059 Time: 3.36350  | Val Loss: 0.8940 Accuracy: 0.8413\n",
      "Epoch: 295/300 Train Loss: 0.7220 Accuracy: 0.9045 Time: 3.49173  | Val Loss: 0.8943 Accuracy: 0.8408\n",
      "Epoch: 296/300 Train Loss: 0.7208 Accuracy: 0.9055 Time: 3.50052  | Val Loss: 0.8981 Accuracy: 0.8401\n",
      "Epoch: 297/300 Train Loss: 0.7163 Accuracy: 0.9059 Time: 3.43746  | Val Loss: 0.8976 Accuracy: 0.8403\n",
      "Epoch: 298/300 Train Loss: 0.7177 Accuracy: 0.9064 Time: 3.64983  | Val Loss: 0.8941 Accuracy: 0.8420\n",
      "Epoch: 299/300 Train Loss: 0.7181 Accuracy: 0.9056 Time: 3.62958  | Val Loss: 0.8976 Accuracy: 0.8419\n",
      "Epoch: 300/300 Train Loss: 0.7195 Accuracy: 0.9068 Time: 3.40029  | Val Loss: 0.8936 Accuracy: 0.8422\n"
     ]
    }
   ],
   "source": [
    "net = ViT(\n",
    "    num_classes=10,\n",
    "    image_size=32,\n",
    "    patch_size=8,\n",
    "    embed_dim=384,\n",
    "    n_heads=12,\n",
    "    diff_dim=384,\n",
    "    dropout=0.0,\n",
    "    num_layers=7,\n",
    ").to(DEVICE)\n",
    "print(f\"#Parameter: {count_trainable_parameter(net)}\")\n",
    "criteria = nn.CrossEntropyLoss(label_smoothing=0.1)\n",
    "optimizer = torch.optim.Adam(net.parameters(), lr=1e-4, betas=(0.9, 0.999))\n",
    "\n",
    "base_scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(\n",
    "    optimizer, max_epochs, eta_min=1e-5\n",
    ")\n",
    "scheduler = GradualWarmupScheduler(\n",
    "    optimizer,\n",
    "    multiplier=1.0,\n",
    "    total_epoch=10,\n",
    "    after_scheduler=base_scheduler,\n",
    ")\n",
    "patch_8 = naive_train_classification_model(\n",
    "    net,\n",
    "    criteria,\n",
    "    max_epochs,\n",
    "    train_dataloader,\n",
    "    val_dataloader,\n",
    "    DEVICE,\n",
    "    optimizer,\n",
    "    scheduler,\n",
    "    verbose=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "75858e37",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "#Parameter: 6523018\n",
      "Epoch: 1/300 Train Loss: 3.2106 Accuracy: 0.0983 Time: 2.64844  | Val Loss: 3.3281 Accuracy: 0.0871\n",
      "Epoch: 2/300 Train Loss: 2.2740 Accuracy: 0.1886 Time: 2.91198  | Val Loss: 2.0548 Accuracy: 0.2869\n",
      "Epoch: 3/300 Train Loss: 2.1398 Accuracy: 0.2348 Time: 2.83131  | Val Loss: 1.9721 Accuracy: 0.3212\n",
      "Epoch: 4/300 Train Loss: 2.0879 Accuracy: 0.2614 Time: 2.46124  | Val Loss: 1.9293 Accuracy: 0.3403\n",
      "Epoch: 5/300 Train Loss: 2.0483 Accuracy: 0.2803 Time: 3.11058  | Val Loss: 1.9001 Accuracy: 0.3461\n",
      "Epoch: 6/300 Train Loss: 2.0122 Accuracy: 0.2967 Time: 3.01912  | Val Loss: 1.8865 Accuracy: 0.3595\n",
      "Epoch: 7/300 Train Loss: 1.9824 Accuracy: 0.3120 Time: 3.13927  | Val Loss: 1.8378 Accuracy: 0.3820\n",
      "Epoch: 8/300 Train Loss: 1.9559 Accuracy: 0.3215 Time: 2.98820  | Val Loss: 1.8384 Accuracy: 0.3879\n",
      "Epoch: 9/300 Train Loss: 1.9253 Accuracy: 0.3383 Time: 2.93976  | Val Loss: 1.7970 Accuracy: 0.4021\n",
      "Epoch: 10/300 Train Loss: 1.9014 Accuracy: 0.3520 Time: 2.60348  | Val Loss: 1.8020 Accuracy: 0.3967\n",
      "Epoch: 11/300 Train Loss: 1.8798 Accuracy: 0.3635 Time: 2.84441  | Val Loss: 1.7836 Accuracy: 0.4205\n",
      "Epoch: 12/300 Train Loss: 1.8574 Accuracy: 0.3743 Time: 2.92591  | Val Loss: 1.7426 Accuracy: 0.4280\n",
      "Epoch: 13/300 Train Loss: 1.8341 Accuracy: 0.3842 Time: 2.92259  | Val Loss: 1.7661 Accuracy: 0.4187\n",
      "Epoch: 14/300 Train Loss: 1.8119 Accuracy: 0.3961 Time: 2.76754  | Val Loss: 1.7310 Accuracy: 0.4421\n",
      "Epoch: 15/300 Train Loss: 1.7936 Accuracy: 0.4036 Time: 2.60870  | Val Loss: 1.7168 Accuracy: 0.4447\n",
      "Epoch: 16/300 Train Loss: 1.7826 Accuracy: 0.4110 Time: 2.98576  | Val Loss: 1.6820 Accuracy: 0.4647\n",
      "Epoch: 17/300 Train Loss: 1.7666 Accuracy: 0.4153 Time: 2.95185  | Val Loss: 1.6592 Accuracy: 0.4686\n",
      "Epoch: 18/300 Train Loss: 1.7466 Accuracy: 0.4276 Time: 2.52343  | Val Loss: 1.6687 Accuracy: 0.4680\n",
      "Epoch: 19/300 Train Loss: 1.7394 Accuracy: 0.4302 Time: 2.98448  | Val Loss: 1.6415 Accuracy: 0.4815\n",
      "Epoch: 20/300 Train Loss: 1.7267 Accuracy: 0.4392 Time: 3.01704  | Val Loss: 1.6223 Accuracy: 0.4907\n",
      "Epoch: 21/300 Train Loss: 1.7105 Accuracy: 0.4442 Time: 2.93828  | Val Loss: 1.6166 Accuracy: 0.4927\n",
      "Epoch: 22/300 Train Loss: 1.7035 Accuracy: 0.4446 Time: 3.04715  | Val Loss: 1.5931 Accuracy: 0.5092\n",
      "Epoch: 23/300 Train Loss: 1.6929 Accuracy: 0.4527 Time: 3.16066  | Val Loss: 1.5911 Accuracy: 0.5051\n",
      "Epoch: 24/300 Train Loss: 1.6835 Accuracy: 0.4553 Time: 2.99598  | Val Loss: 1.5698 Accuracy: 0.5186\n",
      "Epoch: 25/300 Train Loss: 1.6723 Accuracy: 0.4639 Time: 2.64538  | Val Loss: 1.5684 Accuracy: 0.5161\n",
      "Epoch: 26/300 Train Loss: 1.6625 Accuracy: 0.4667 Time: 2.67635  | Val Loss: 1.5474 Accuracy: 0.5234\n",
      "Epoch: 27/300 Train Loss: 1.6501 Accuracy: 0.4735 Time: 2.60154  | Val Loss: 1.5410 Accuracy: 0.5273\n",
      "Epoch: 28/300 Train Loss: 1.6401 Accuracy: 0.4778 Time: 2.61905  | Val Loss: 1.5244 Accuracy: 0.5338\n",
      "Epoch: 29/300 Train Loss: 1.6316 Accuracy: 0.4822 Time: 2.48228  | Val Loss: 1.5261 Accuracy: 0.5346\n",
      "Epoch: 30/300 Train Loss: 1.6232 Accuracy: 0.4875 Time: 2.43715  | Val Loss: 1.5167 Accuracy: 0.5390\n",
      "Epoch: 31/300 Train Loss: 1.6156 Accuracy: 0.4914 Time: 2.70986  | Val Loss: 1.4936 Accuracy: 0.5536\n",
      "Epoch: 32/300 Train Loss: 1.6090 Accuracy: 0.4934 Time: 2.52580  | Val Loss: 1.5047 Accuracy: 0.5443\n",
      "Epoch: 33/300 Train Loss: 1.6018 Accuracy: 0.4954 Time: 3.01789  | Val Loss: 1.4895 Accuracy: 0.5496\n",
      "Epoch: 34/300 Train Loss: 1.5901 Accuracy: 0.5008 Time: 2.76366  | Val Loss: 1.4723 Accuracy: 0.5594\n",
      "Epoch: 35/300 Train Loss: 1.5850 Accuracy: 0.5052 Time: 2.86900  | Val Loss: 1.4668 Accuracy: 0.5630\n",
      "Epoch: 36/300 Train Loss: 1.5795 Accuracy: 0.5068 Time: 2.88969  | Val Loss: 1.4646 Accuracy: 0.5630\n",
      "Epoch: 37/300 Train Loss: 1.5726 Accuracy: 0.5123 Time: 2.59085  | Val Loss: 1.4685 Accuracy: 0.5607\n",
      "Epoch: 38/300 Train Loss: 1.5669 Accuracy: 0.5142 Time: 2.79423  | Val Loss: 1.4518 Accuracy: 0.5674\n",
      "Epoch: 39/300 Train Loss: 1.5556 Accuracy: 0.5180 Time: 2.88844  | Val Loss: 1.4518 Accuracy: 0.5636\n",
      "Epoch: 40/300 Train Loss: 1.5482 Accuracy: 0.5215 Time: 2.88611  | Val Loss: 1.4353 Accuracy: 0.5751\n",
      "Epoch: 41/300 Train Loss: 1.5409 Accuracy: 0.5260 Time: 2.64042  | Val Loss: 1.4281 Accuracy: 0.5767\n",
      "Epoch: 42/300 Train Loss: 1.5386 Accuracy: 0.5259 Time: 2.75125  | Val Loss: 1.4301 Accuracy: 0.5750\n",
      "Epoch: 43/300 Train Loss: 1.5292 Accuracy: 0.5318 Time: 2.68762  | Val Loss: 1.4330 Accuracy: 0.5774\n",
      "Epoch: 44/300 Train Loss: 1.5196 Accuracy: 0.5368 Time: 2.63463  | Val Loss: 1.4106 Accuracy: 0.5892\n",
      "Epoch: 45/300 Train Loss: 1.5196 Accuracy: 0.5358 Time: 2.89716  | Val Loss: 1.4031 Accuracy: 0.5918\n",
      "Epoch: 46/300 Train Loss: 1.5136 Accuracy: 0.5381 Time: 2.69626  | Val Loss: 1.3893 Accuracy: 0.5930\n",
      "Epoch: 47/300 Train Loss: 1.5059 Accuracy: 0.5440 Time: 2.70119  | Val Loss: 1.4049 Accuracy: 0.5973\n",
      "Epoch: 48/300 Train Loss: 1.5034 Accuracy: 0.5454 Time: 2.49649  | Val Loss: 1.4214 Accuracy: 0.5839\n",
      "Epoch: 49/300 Train Loss: 1.4927 Accuracy: 0.5476 Time: 2.93616  | Val Loss: 1.3929 Accuracy: 0.5970\n",
      "Epoch: 50/300 Train Loss: 1.4901 Accuracy: 0.5492 Time: 3.04920  | Val Loss: 1.3802 Accuracy: 0.6027\n",
      "Epoch: 51/300 Train Loss: 1.4812 Accuracy: 0.5541 Time: 2.64590  | Val Loss: 1.3820 Accuracy: 0.5999\n",
      "Epoch: 52/300 Train Loss: 1.4783 Accuracy: 0.5567 Time: 2.91499  | Val Loss: 1.3712 Accuracy: 0.6037\n",
      "Epoch: 53/300 Train Loss: 1.4742 Accuracy: 0.5560 Time: 2.85727  | Val Loss: 1.3609 Accuracy: 0.6094\n",
      "Epoch: 54/300 Train Loss: 1.4682 Accuracy: 0.5615 Time: 2.71080  | Val Loss: 1.3531 Accuracy: 0.6140\n",
      "Epoch: 55/300 Train Loss: 1.4602 Accuracy: 0.5622 Time: 2.62027  | Val Loss: 1.3612 Accuracy: 0.6081\n",
      "Epoch: 56/300 Train Loss: 1.4579 Accuracy: 0.5659 Time: 2.92830  | Val Loss: 1.3567 Accuracy: 0.6139\n",
      "Epoch: 57/300 Train Loss: 1.4536 Accuracy: 0.5680 Time: 2.69575  | Val Loss: 1.3546 Accuracy: 0.6129\n",
      "Epoch: 58/300 Train Loss: 1.4463 Accuracy: 0.5724 Time: 3.21477  | Val Loss: 1.3367 Accuracy: 0.6271\n",
      "Epoch: 59/300 Train Loss: 1.4425 Accuracy: 0.5719 Time: 2.79054  | Val Loss: 1.3340 Accuracy: 0.6204\n",
      "Epoch: 60/300 Train Loss: 1.4368 Accuracy: 0.5761 Time: 2.53605  | Val Loss: 1.3199 Accuracy: 0.6293\n",
      "Epoch: 61/300 Train Loss: 1.4355 Accuracy: 0.5749 Time: 2.50962  | Val Loss: 1.3313 Accuracy: 0.6256\n",
      "Epoch: 62/300 Train Loss: 1.4296 Accuracy: 0.5799 Time: 2.75151  | Val Loss: 1.3109 Accuracy: 0.6336\n",
      "Epoch: 63/300 Train Loss: 1.4247 Accuracy: 0.5805 Time: 2.72865  | Val Loss: 1.3162 Accuracy: 0.6302\n",
      "Epoch: 64/300 Train Loss: 1.4150 Accuracy: 0.5867 Time: 2.92842  | Val Loss: 1.3111 Accuracy: 0.6314\n",
      "Epoch: 65/300 Train Loss: 1.4143 Accuracy: 0.5858 Time: 2.66665  | Val Loss: 1.3075 Accuracy: 0.6346\n",
      "Epoch: 66/300 Train Loss: 1.4161 Accuracy: 0.5848 Time: 2.83577  | Val Loss: 1.3083 Accuracy: 0.6314\n",
      "Epoch: 67/300 Train Loss: 1.4084 Accuracy: 0.5871 Time: 2.69396  | Val Loss: 1.3220 Accuracy: 0.6220\n",
      "Epoch: 68/300 Train Loss: 1.4025 Accuracy: 0.5918 Time: 2.48624  | Val Loss: 1.2952 Accuracy: 0.6413\n",
      "Epoch: 69/300 Train Loss: 1.3961 Accuracy: 0.5958 Time: 2.65856  | Val Loss: 1.3018 Accuracy: 0.6370\n",
      "Epoch: 70/300 Train Loss: 1.3920 Accuracy: 0.5959 Time: 2.74569  | Val Loss: 1.3044 Accuracy: 0.6379\n",
      "Epoch: 71/300 Train Loss: 1.3917 Accuracy: 0.5955 Time: 2.58771  | Val Loss: 1.2891 Accuracy: 0.6422\n",
      "Epoch: 72/300 Train Loss: 1.3868 Accuracy: 0.5985 Time: 2.82872  | Val Loss: 1.2942 Accuracy: 0.6401\n",
      "Epoch: 73/300 Train Loss: 1.3842 Accuracy: 0.6004 Time: 2.43090  | Val Loss: 1.2938 Accuracy: 0.6437\n",
      "Epoch: 74/300 Train Loss: 1.3800 Accuracy: 0.6026 Time: 2.93564  | Val Loss: 1.2904 Accuracy: 0.6455\n",
      "Epoch: 75/300 Train Loss: 1.3730 Accuracy: 0.6048 Time: 2.71096  | Val Loss: 1.2800 Accuracy: 0.6531\n",
      "Epoch: 76/300 Train Loss: 1.3677 Accuracy: 0.6076 Time: 2.47163  | Val Loss: 1.2786 Accuracy: 0.6480\n",
      "Epoch: 77/300 Train Loss: 1.3633 Accuracy: 0.6070 Time: 2.73799  | Val Loss: 1.2844 Accuracy: 0.6468\n",
      "Epoch: 78/300 Train Loss: 1.3632 Accuracy: 0.6087 Time: 2.68821  | Val Loss: 1.2734 Accuracy: 0.6509\n",
      "Epoch: 79/300 Train Loss: 1.3613 Accuracy: 0.6091 Time: 2.43516  | Val Loss: 1.2713 Accuracy: 0.6522\n",
      "Epoch: 80/300 Train Loss: 1.3507 Accuracy: 0.6178 Time: 2.77128  | Val Loss: 1.2702 Accuracy: 0.6527\n",
      "Epoch: 81/300 Train Loss: 1.3505 Accuracy: 0.6162 Time: 2.73530  | Val Loss: 1.2634 Accuracy: 0.6603\n",
      "Epoch: 82/300 Train Loss: 1.3468 Accuracy: 0.6156 Time: 2.67972  | Val Loss: 1.2634 Accuracy: 0.6597\n",
      "Epoch: 83/300 Train Loss: 1.3411 Accuracy: 0.6210 Time: 2.79790  | Val Loss: 1.2633 Accuracy: 0.6524\n",
      "Epoch: 84/300 Train Loss: 1.3414 Accuracy: 0.6196 Time: 2.79219  | Val Loss: 1.2678 Accuracy: 0.6534\n",
      "Epoch: 85/300 Train Loss: 1.3352 Accuracy: 0.6244 Time: 2.55476  | Val Loss: 1.2489 Accuracy: 0.6661\n",
      "Epoch: 86/300 Train Loss: 1.3280 Accuracy: 0.6255 Time: 2.85250  | Val Loss: 1.2600 Accuracy: 0.6581\n",
      "Epoch: 87/300 Train Loss: 1.3225 Accuracy: 0.6273 Time: 2.70048  | Val Loss: 1.2554 Accuracy: 0.6633\n",
      "Epoch: 88/300 Train Loss: 1.3213 Accuracy: 0.6272 Time: 2.58815  | Val Loss: 1.2487 Accuracy: 0.6636\n",
      "Epoch: 89/300 Train Loss: 1.3185 Accuracy: 0.6301 Time: 2.72130  | Val Loss: 1.2430 Accuracy: 0.6678\n",
      "Epoch: 90/300 Train Loss: 1.3153 Accuracy: 0.6329 Time: 2.54816  | Val Loss: 1.2447 Accuracy: 0.6670\n",
      "Epoch: 91/300 Train Loss: 1.3159 Accuracy: 0.6320 Time: 2.43278  | Val Loss: 1.2594 Accuracy: 0.6646\n",
      "Epoch: 92/300 Train Loss: 1.3096 Accuracy: 0.6350 Time: 2.48492  | Val Loss: 1.2377 Accuracy: 0.6695\n",
      "Epoch: 93/300 Train Loss: 1.3057 Accuracy: 0.6381 Time: 2.74862  | Val Loss: 1.2477 Accuracy: 0.6672\n",
      "Epoch: 94/300 Train Loss: 1.3021 Accuracy: 0.6386 Time: 2.55193  | Val Loss: 1.2390 Accuracy: 0.6701\n",
      "Epoch: 95/300 Train Loss: 1.2988 Accuracy: 0.6399 Time: 2.39013  | Val Loss: 1.2305 Accuracy: 0.6738\n",
      "Epoch: 96/300 Train Loss: 1.2960 Accuracy: 0.6394 Time: 2.62515  | Val Loss: 1.2431 Accuracy: 0.6657\n",
      "Epoch: 97/300 Train Loss: 1.2924 Accuracy: 0.6442 Time: 2.70381  | Val Loss: 1.2232 Accuracy: 0.6749\n",
      "Epoch: 98/300 Train Loss: 1.2872 Accuracy: 0.6458 Time: 2.60893  | Val Loss: 1.2364 Accuracy: 0.6697\n",
      "Epoch: 99/300 Train Loss: 1.2810 Accuracy: 0.6489 Time: 2.54700  | Val Loss: 1.2272 Accuracy: 0.6729\n",
      "Epoch: 100/300 Train Loss: 1.2873 Accuracy: 0.6448 Time: 3.05476  | Val Loss: 1.2271 Accuracy: 0.6742\n",
      "Epoch: 101/300 Train Loss: 1.2784 Accuracy: 0.6485 Time: 3.00514  | Val Loss: 1.2309 Accuracy: 0.6744\n",
      "Epoch: 102/300 Train Loss: 1.2703 Accuracy: 0.6549 Time: 2.31573  | Val Loss: 1.2323 Accuracy: 0.6780\n",
      "Epoch: 103/300 Train Loss: 1.2680 Accuracy: 0.6552 Time: 2.72392  | Val Loss: 1.2299 Accuracy: 0.6731\n",
      "Epoch: 104/300 Train Loss: 1.2696 Accuracy: 0.6548 Time: 2.86502  | Val Loss: 1.2286 Accuracy: 0.6764\n",
      "Epoch: 105/300 Train Loss: 1.2669 Accuracy: 0.6521 Time: 2.88865  | Val Loss: 1.2322 Accuracy: 0.6724\n",
      "Epoch: 106/300 Train Loss: 1.2620 Accuracy: 0.6590 Time: 2.91855  | Val Loss: 1.2232 Accuracy: 0.6804\n",
      "Epoch: 107/300 Train Loss: 1.2564 Accuracy: 0.6592 Time: 2.68641  | Val Loss: 1.2164 Accuracy: 0.6854\n",
      "Epoch: 108/300 Train Loss: 1.2628 Accuracy: 0.6565 Time: 2.35975  | Val Loss: 1.2211 Accuracy: 0.6783\n",
      "Epoch: 109/300 Train Loss: 1.2499 Accuracy: 0.6641 Time: 2.48433  | Val Loss: 1.2198 Accuracy: 0.6815\n",
      "Epoch: 110/300 Train Loss: 1.2503 Accuracy: 0.6641 Time: 2.33449  | Val Loss: 1.2155 Accuracy: 0.6865\n",
      "Epoch: 111/300 Train Loss: 1.2471 Accuracy: 0.6633 Time: 2.33455  | Val Loss: 1.2297 Accuracy: 0.6785\n",
      "Epoch: 112/300 Train Loss: 1.2415 Accuracy: 0.6666 Time: 2.66613  | Val Loss: 1.2164 Accuracy: 0.6866\n",
      "Epoch: 113/300 Train Loss: 1.2438 Accuracy: 0.6658 Time: 2.35060  | Val Loss: 1.2108 Accuracy: 0.6879\n",
      "Epoch: 114/300 Train Loss: 1.2367 Accuracy: 0.6697 Time: 2.98244  | Val Loss: 1.2141 Accuracy: 0.6834\n",
      "Epoch: 115/300 Train Loss: 1.2382 Accuracy: 0.6675 Time: 2.79213  | Val Loss: 1.2131 Accuracy: 0.6808\n",
      "Epoch: 116/300 Train Loss: 1.2307 Accuracy: 0.6734 Time: 2.37416  | Val Loss: 1.2072 Accuracy: 0.6835\n",
      "Epoch: 117/300 Train Loss: 1.2232 Accuracy: 0.6759 Time: 2.95349  | Val Loss: 1.2101 Accuracy: 0.6840\n",
      "Epoch: 118/300 Train Loss: 1.2283 Accuracy: 0.6712 Time: 2.76894  | Val Loss: 1.2010 Accuracy: 0.6899\n",
      "Epoch: 119/300 Train Loss: 1.2176 Accuracy: 0.6801 Time: 2.66220  | Val Loss: 1.2114 Accuracy: 0.6846\n",
      "Epoch: 120/300 Train Loss: 1.2232 Accuracy: 0.6753 Time: 2.67731  | Val Loss: 1.2113 Accuracy: 0.6838\n",
      "Epoch: 121/300 Train Loss: 1.2208 Accuracy: 0.6770 Time: 2.50569  | Val Loss: 1.2019 Accuracy: 0.6900\n",
      "Epoch: 122/300 Train Loss: 1.2168 Accuracy: 0.6781 Time: 2.69986  | Val Loss: 1.2034 Accuracy: 0.6900\n",
      "Epoch: 123/300 Train Loss: 1.2063 Accuracy: 0.6841 Time: 2.33304  | Val Loss: 1.1948 Accuracy: 0.6913\n",
      "Epoch: 124/300 Train Loss: 1.2069 Accuracy: 0.6828 Time: 2.77624  | Val Loss: 1.2013 Accuracy: 0.6918\n",
      "Epoch: 125/300 Train Loss: 1.2103 Accuracy: 0.6830 Time: 2.27107  | Val Loss: 1.2017 Accuracy: 0.6916\n",
      "Epoch: 126/300 Train Loss: 1.2030 Accuracy: 0.6888 Time: 2.52572  | Val Loss: 1.2048 Accuracy: 0.6912\n",
      "Epoch: 127/300 Train Loss: 1.2006 Accuracy: 0.6852 Time: 2.84506  | Val Loss: 1.2021 Accuracy: 0.6879\n",
      "Epoch: 128/300 Train Loss: 1.1970 Accuracy: 0.6890 Time: 2.90871  | Val Loss: 1.1976 Accuracy: 0.6934\n",
      "Epoch: 129/300 Train Loss: 1.1932 Accuracy: 0.6896 Time: 3.11381  | Val Loss: 1.1977 Accuracy: 0.6926\n",
      "Epoch: 130/300 Train Loss: 1.1908 Accuracy: 0.6900 Time: 2.54548  | Val Loss: 1.1948 Accuracy: 0.6931\n",
      "Epoch: 131/300 Train Loss: 1.1863 Accuracy: 0.6956 Time: 2.74110  | Val Loss: 1.2005 Accuracy: 0.6907\n",
      "Epoch: 132/300 Train Loss: 1.1925 Accuracy: 0.6906 Time: 2.84381  | Val Loss: 1.1980 Accuracy: 0.6941\n",
      "Epoch: 133/300 Train Loss: 1.1849 Accuracy: 0.6930 Time: 2.53600  | Val Loss: 1.2062 Accuracy: 0.6892\n",
      "Epoch: 134/300 Train Loss: 1.1816 Accuracy: 0.6956 Time: 2.71414  | Val Loss: 1.2009 Accuracy: 0.6934\n",
      "Epoch: 135/300 Train Loss: 1.1809 Accuracy: 0.6960 Time: 2.87015  | Val Loss: 1.1847 Accuracy: 0.6983\n",
      "Epoch: 136/300 Train Loss: 1.1756 Accuracy: 0.6989 Time: 2.68835  | Val Loss: 1.1905 Accuracy: 0.6979\n",
      "Epoch: 137/300 Train Loss: 1.1756 Accuracy: 0.6999 Time: 2.67273  | Val Loss: 1.1858 Accuracy: 0.6975\n",
      "Epoch: 138/300 Train Loss: 1.1724 Accuracy: 0.7005 Time: 2.60065  | Val Loss: 1.1934 Accuracy: 0.6954\n",
      "Epoch: 139/300 Train Loss: 1.1650 Accuracy: 0.7062 Time: 2.76987  | Val Loss: 1.1879 Accuracy: 0.6964\n",
      "Epoch: 140/300 Train Loss: 1.1711 Accuracy: 0.7004 Time: 2.50654  | Val Loss: 1.1862 Accuracy: 0.6994\n",
      "Epoch: 141/300 Train Loss: 1.1649 Accuracy: 0.7026 Time: 2.83460  | Val Loss: 1.1931 Accuracy: 0.7009\n",
      "Epoch: 142/300 Train Loss: 1.1584 Accuracy: 0.7074 Time: 2.88196  | Val Loss: 1.1850 Accuracy: 0.7050\n",
      "Epoch: 143/300 Train Loss: 1.1600 Accuracy: 0.7056 Time: 2.93119  | Val Loss: 1.1856 Accuracy: 0.7020\n",
      "Epoch: 144/300 Train Loss: 1.1560 Accuracy: 0.7078 Time: 2.62479  | Val Loss: 1.1826 Accuracy: 0.7028\n",
      "Epoch: 145/300 Train Loss: 1.1503 Accuracy: 0.7113 Time: 3.09660  | Val Loss: 1.1878 Accuracy: 0.7003\n",
      "Epoch: 146/300 Train Loss: 1.1495 Accuracy: 0.7118 Time: 2.76102  | Val Loss: 1.1892 Accuracy: 0.6978\n",
      "Epoch: 147/300 Train Loss: 1.1479 Accuracy: 0.7121 Time: 2.69298  | Val Loss: 1.1822 Accuracy: 0.7027\n",
      "Epoch: 148/300 Train Loss: 1.1498 Accuracy: 0.7107 Time: 2.57491  | Val Loss: 1.1784 Accuracy: 0.7029\n",
      "Epoch: 149/300 Train Loss: 1.1361 Accuracy: 0.7179 Time: 2.90278  | Val Loss: 1.1796 Accuracy: 0.7037\n",
      "Epoch: 150/300 Train Loss: 1.1414 Accuracy: 0.7160 Time: 2.50513  | Val Loss: 1.1734 Accuracy: 0.7061\n",
      "Epoch: 151/300 Train Loss: 1.1403 Accuracy: 0.7149 Time: 2.59676  | Val Loss: 1.1728 Accuracy: 0.7083\n",
      "Epoch: 152/300 Train Loss: 1.1362 Accuracy: 0.7172 Time: 2.50873  | Val Loss: 1.1803 Accuracy: 0.7011\n",
      "Epoch: 153/300 Train Loss: 1.1323 Accuracy: 0.7176 Time: 2.80948  | Val Loss: 1.1858 Accuracy: 0.7028\n",
      "Epoch: 154/300 Train Loss: 1.1288 Accuracy: 0.7212 Time: 2.48071  | Val Loss: 1.1770 Accuracy: 0.7071\n",
      "Epoch: 155/300 Train Loss: 1.1270 Accuracy: 0.7202 Time: 3.00030  | Val Loss: 1.1778 Accuracy: 0.7076\n",
      "Epoch: 156/300 Train Loss: 1.1295 Accuracy: 0.7192 Time: 2.64182  | Val Loss: 1.1805 Accuracy: 0.7010\n",
      "Epoch: 157/300 Train Loss: 1.1232 Accuracy: 0.7242 Time: 2.70839  | Val Loss: 1.1757 Accuracy: 0.7036\n",
      "Epoch: 158/300 Train Loss: 1.1228 Accuracy: 0.7228 Time: 2.90411  | Val Loss: 1.1789 Accuracy: 0.7033\n",
      "Epoch: 159/300 Train Loss: 1.1192 Accuracy: 0.7243 Time: 2.84579  | Val Loss: 1.1834 Accuracy: 0.7016\n",
      "Epoch: 160/300 Train Loss: 1.1225 Accuracy: 0.7225 Time: 2.40126  | Val Loss: 1.1913 Accuracy: 0.7026\n",
      "Epoch: 161/300 Train Loss: 1.1162 Accuracy: 0.7273 Time: 2.99208  | Val Loss: 1.1761 Accuracy: 0.7113\n",
      "Epoch: 162/300 Train Loss: 1.1127 Accuracy: 0.7278 Time: 2.67259  | Val Loss: 1.1836 Accuracy: 0.7057\n",
      "Epoch: 163/300 Train Loss: 1.1121 Accuracy: 0.7279 Time: 2.30420  | Val Loss: 1.1761 Accuracy: 0.7097\n",
      "Epoch: 164/300 Train Loss: 1.1062 Accuracy: 0.7320 Time: 2.90326  | Val Loss: 1.1809 Accuracy: 0.7054\n",
      "Epoch: 165/300 Train Loss: 1.1048 Accuracy: 0.7305 Time: 2.64419  | Val Loss: 1.1854 Accuracy: 0.7034\n",
      "Epoch: 166/300 Train Loss: 1.1044 Accuracy: 0.7312 Time: 2.63572  | Val Loss: 1.1697 Accuracy: 0.7091\n",
      "Epoch: 167/300 Train Loss: 1.1015 Accuracy: 0.7305 Time: 2.52174  | Val Loss: 1.1773 Accuracy: 0.7084\n",
      "Epoch: 168/300 Train Loss: 1.0997 Accuracy: 0.7340 Time: 2.92200  | Val Loss: 1.1752 Accuracy: 0.7064\n",
      "Epoch: 169/300 Train Loss: 1.0975 Accuracy: 0.7360 Time: 2.91226  | Val Loss: 1.1769 Accuracy: 0.7085\n",
      "Epoch: 170/300 Train Loss: 1.0958 Accuracy: 0.7375 Time: 2.77566  | Val Loss: 1.1705 Accuracy: 0.7118\n",
      "Epoch: 171/300 Train Loss: 1.0952 Accuracy: 0.7384 Time: 2.90349  | Val Loss: 1.1714 Accuracy: 0.7076\n",
      "Epoch: 172/300 Train Loss: 1.0975 Accuracy: 0.7367 Time: 2.87921  | Val Loss: 1.1815 Accuracy: 0.7090\n",
      "Epoch: 173/300 Train Loss: 1.0890 Accuracy: 0.7404 Time: 2.65832  | Val Loss: 1.1787 Accuracy: 0.7078\n",
      "Epoch: 174/300 Train Loss: 1.0845 Accuracy: 0.7409 Time: 2.77831  | Val Loss: 1.1765 Accuracy: 0.7135\n",
      "Epoch: 175/300 Train Loss: 1.0818 Accuracy: 0.7435 Time: 2.78396  | Val Loss: 1.1774 Accuracy: 0.7100\n",
      "Epoch: 176/300 Train Loss: 1.0787 Accuracy: 0.7451 Time: 2.70605  | Val Loss: 1.1778 Accuracy: 0.7107\n",
      "Epoch: 177/300 Train Loss: 1.0806 Accuracy: 0.7442 Time: 2.54200  | Val Loss: 1.1866 Accuracy: 0.7060\n",
      "Epoch: 178/300 Train Loss: 1.0760 Accuracy: 0.7461 Time: 2.90646  | Val Loss: 1.1888 Accuracy: 0.7077\n",
      "Epoch: 179/300 Train Loss: 1.0796 Accuracy: 0.7443 Time: 2.52898  | Val Loss: 1.1766 Accuracy: 0.7055\n",
      "Epoch: 180/300 Train Loss: 1.0741 Accuracy: 0.7459 Time: 2.60500  | Val Loss: 1.1723 Accuracy: 0.7159\n",
      "Epoch: 181/300 Train Loss: 1.0688 Accuracy: 0.7481 Time: 2.74937  | Val Loss: 1.1677 Accuracy: 0.7148\n",
      "Epoch: 182/300 Train Loss: 1.0708 Accuracy: 0.7459 Time: 2.59478  | Val Loss: 1.1729 Accuracy: 0.7123\n",
      "Epoch: 183/300 Train Loss: 1.0676 Accuracy: 0.7499 Time: 2.75318  | Val Loss: 1.1730 Accuracy: 0.7109\n",
      "Epoch: 184/300 Train Loss: 1.0617 Accuracy: 0.7533 Time: 2.71865  | Val Loss: 1.1805 Accuracy: 0.7089\n",
      "Epoch: 185/300 Train Loss: 1.0578 Accuracy: 0.7532 Time: 2.63669  | Val Loss: 1.1721 Accuracy: 0.7113\n",
      "Epoch: 186/300 Train Loss: 1.0634 Accuracy: 0.7514 Time: 2.58044  | Val Loss: 1.1794 Accuracy: 0.7093\n",
      "Epoch: 187/300 Train Loss: 1.0618 Accuracy: 0.7528 Time: 2.38539  | Val Loss: 1.1748 Accuracy: 0.7082\n",
      "Epoch: 188/300 Train Loss: 1.0602 Accuracy: 0.7534 Time: 3.01437  | Val Loss: 1.1804 Accuracy: 0.7098\n",
      "Epoch: 189/300 Train Loss: 1.0602 Accuracy: 0.7542 Time: 2.76218  | Val Loss: 1.1750 Accuracy: 0.7116\n",
      "Epoch: 190/300 Train Loss: 1.0506 Accuracy: 0.7569 Time: 2.70124  | Val Loss: 1.1800 Accuracy: 0.7118\n",
      "Epoch: 191/300 Train Loss: 1.0590 Accuracy: 0.7543 Time: 2.68006  | Val Loss: 1.1808 Accuracy: 0.7105\n",
      "Epoch: 192/300 Train Loss: 1.0484 Accuracy: 0.7599 Time: 2.64398  | Val Loss: 1.1758 Accuracy: 0.7155\n",
      "Epoch: 193/300 Train Loss: 1.0439 Accuracy: 0.7601 Time: 2.55513  | Val Loss: 1.1716 Accuracy: 0.7115\n",
      "Epoch: 194/300 Train Loss: 1.0440 Accuracy: 0.7608 Time: 2.58142  | Val Loss: 1.1782 Accuracy: 0.7118\n",
      "Epoch: 195/300 Train Loss: 1.0431 Accuracy: 0.7611 Time: 2.54583  | Val Loss: 1.1728 Accuracy: 0.7128\n",
      "Epoch: 196/300 Train Loss: 1.0409 Accuracy: 0.7614 Time: 2.87401  | Val Loss: 1.1744 Accuracy: 0.7113\n",
      "Epoch: 197/300 Train Loss: 1.0403 Accuracy: 0.7637 Time: 2.57282  | Val Loss: 1.1757 Accuracy: 0.7101\n",
      "Epoch: 198/300 Train Loss: 1.0396 Accuracy: 0.7644 Time: 3.00488  | Val Loss: 1.1720 Accuracy: 0.7134\n",
      "Epoch: 199/300 Train Loss: 1.0440 Accuracy: 0.7604 Time: 2.91984  | Val Loss: 1.1769 Accuracy: 0.7106\n",
      "Epoch: 200/300 Train Loss: 1.0421 Accuracy: 0.7626 Time: 3.07157  | Val Loss: 1.1722 Accuracy: 0.7093\n",
      "Epoch: 201/300 Train Loss: 1.0354 Accuracy: 0.7655 Time: 2.65889  | Val Loss: 1.1781 Accuracy: 0.7122\n",
      "Epoch: 202/300 Train Loss: 1.0310 Accuracy: 0.7696 Time: 2.90820  | Val Loss: 1.1731 Accuracy: 0.7112\n",
      "Epoch: 203/300 Train Loss: 1.0308 Accuracy: 0.7686 Time: 2.54277  | Val Loss: 1.1821 Accuracy: 0.7138\n",
      "Epoch: 204/300 Train Loss: 1.0303 Accuracy: 0.7668 Time: 3.02951  | Val Loss: 1.1773 Accuracy: 0.7136\n",
      "Epoch: 205/300 Train Loss: 1.0304 Accuracy: 0.7676 Time: 2.98657  | Val Loss: 1.1776 Accuracy: 0.7131\n",
      "Epoch: 206/300 Train Loss: 1.0256 Accuracy: 0.7689 Time: 2.79515  | Val Loss: 1.1725 Accuracy: 0.7136\n",
      "Epoch: 207/300 Train Loss: 1.0262 Accuracy: 0.7700 Time: 2.42504  | Val Loss: 1.1796 Accuracy: 0.7131\n",
      "Epoch: 208/300 Train Loss: 1.0214 Accuracy: 0.7706 Time: 2.74420  | Val Loss: 1.1770 Accuracy: 0.7166\n",
      "Epoch: 209/300 Train Loss: 1.0240 Accuracy: 0.7708 Time: 2.65113  | Val Loss: 1.1800 Accuracy: 0.7174\n",
      "Epoch: 210/300 Train Loss: 1.0263 Accuracy: 0.7684 Time: 3.04192  | Val Loss: 1.1747 Accuracy: 0.7156\n",
      "Epoch: 211/300 Train Loss: 1.0164 Accuracy: 0.7753 Time: 3.00575  | Val Loss: 1.1723 Accuracy: 0.7154\n",
      "Epoch: 212/300 Train Loss: 1.0164 Accuracy: 0.7739 Time: 2.71287  | Val Loss: 1.1727 Accuracy: 0.7157\n",
      "Epoch: 213/300 Train Loss: 1.0152 Accuracy: 0.7740 Time: 2.32628  | Val Loss: 1.1780 Accuracy: 0.7182\n",
      "Epoch: 214/300 Train Loss: 1.0136 Accuracy: 0.7743 Time: 2.73508  | Val Loss: 1.1773 Accuracy: 0.7191\n",
      "Epoch: 215/300 Train Loss: 1.0143 Accuracy: 0.7758 Time: 2.83437  | Val Loss: 1.1809 Accuracy: 0.7171\n",
      "Epoch: 216/300 Train Loss: 1.0121 Accuracy: 0.7766 Time: 2.52252  | Val Loss: 1.1741 Accuracy: 0.7147\n",
      "Epoch: 217/300 Train Loss: 1.0116 Accuracy: 0.7769 Time: 2.72998  | Val Loss: 1.1776 Accuracy: 0.7163\n",
      "Epoch: 218/300 Train Loss: 1.0060 Accuracy: 0.7800 Time: 2.43522  | Val Loss: 1.1738 Accuracy: 0.7178\n",
      "Epoch: 219/300 Train Loss: 1.0076 Accuracy: 0.7777 Time: 3.00768  | Val Loss: 1.1733 Accuracy: 0.7183\n",
      "Epoch: 220/300 Train Loss: 1.0041 Accuracy: 0.7797 Time: 2.89571  | Val Loss: 1.1765 Accuracy: 0.7196\n",
      "Epoch: 221/300 Train Loss: 1.0038 Accuracy: 0.7790 Time: 2.40688  | Val Loss: 1.1725 Accuracy: 0.7177\n",
      "Epoch: 222/300 Train Loss: 1.0006 Accuracy: 0.7829 Time: 2.39033  | Val Loss: 1.1762 Accuracy: 0.7172\n",
      "Epoch: 223/300 Train Loss: 1.0009 Accuracy: 0.7809 Time: 2.54937  | Val Loss: 1.1676 Accuracy: 0.7196\n",
      "Epoch: 224/300 Train Loss: 0.9981 Accuracy: 0.7817 Time: 2.61791  | Val Loss: 1.1707 Accuracy: 0.7168\n",
      "Epoch: 225/300 Train Loss: 1.0010 Accuracy: 0.7820 Time: 2.39381  | Val Loss: 1.1766 Accuracy: 0.7124\n",
      "Epoch: 226/300 Train Loss: 0.9968 Accuracy: 0.7835 Time: 2.54529  | Val Loss: 1.1785 Accuracy: 0.7181\n",
      "Epoch: 227/300 Train Loss: 1.0019 Accuracy: 0.7813 Time: 2.68692  | Val Loss: 1.1741 Accuracy: 0.7188\n",
      "Epoch: 228/300 Train Loss: 0.9931 Accuracy: 0.7843 Time: 2.82470  | Val Loss: 1.1712 Accuracy: 0.7199\n",
      "Epoch: 229/300 Train Loss: 0.9940 Accuracy: 0.7861 Time: 2.62107  | Val Loss: 1.1750 Accuracy: 0.7153\n",
      "Epoch: 230/300 Train Loss: 0.9883 Accuracy: 0.7870 Time: 2.46481  | Val Loss: 1.1764 Accuracy: 0.7147\n",
      "Epoch: 231/300 Train Loss: 0.9879 Accuracy: 0.7884 Time: 2.79596  | Val Loss: 1.1732 Accuracy: 0.7151\n",
      "Epoch: 232/300 Train Loss: 0.9925 Accuracy: 0.7877 Time: 2.35579  | Val Loss: 1.1710 Accuracy: 0.7165\n",
      "Epoch: 233/300 Train Loss: 0.9882 Accuracy: 0.7874 Time: 2.70084  | Val Loss: 1.1715 Accuracy: 0.7154\n",
      "Epoch: 234/300 Train Loss: 0.9901 Accuracy: 0.7851 Time: 2.22407  | Val Loss: 1.1665 Accuracy: 0.7187\n",
      "Epoch: 235/300 Train Loss: 0.9848 Accuracy: 0.7892 Time: 2.82172  | Val Loss: 1.1753 Accuracy: 0.7156\n",
      "Epoch: 236/300 Train Loss: 0.9884 Accuracy: 0.7868 Time: 2.59489  | Val Loss: 1.1728 Accuracy: 0.7196\n",
      "Epoch: 237/300 Train Loss: 0.9786 Accuracy: 0.7923 Time: 2.46444  | Val Loss: 1.1765 Accuracy: 0.7171\n",
      "Epoch: 238/300 Train Loss: 0.9821 Accuracy: 0.7901 Time: 2.56279  | Val Loss: 1.1731 Accuracy: 0.7200\n",
      "Epoch: 239/300 Train Loss: 0.9792 Accuracy: 0.7918 Time: 2.56430  | Val Loss: 1.1714 Accuracy: 0.7217\n",
      "Epoch: 240/300 Train Loss: 0.9750 Accuracy: 0.7950 Time: 2.36943  | Val Loss: 1.1756 Accuracy: 0.7159\n",
      "Epoch: 241/300 Train Loss: 0.9786 Accuracy: 0.7927 Time: 2.78915  | Val Loss: 1.1724 Accuracy: 0.7189\n",
      "Epoch: 242/300 Train Loss: 0.9737 Accuracy: 0.7935 Time: 2.31053  | Val Loss: 1.1712 Accuracy: 0.7209\n",
      "Epoch: 243/300 Train Loss: 0.9777 Accuracy: 0.7934 Time: 2.41964  | Val Loss: 1.1748 Accuracy: 0.7193\n",
      "Epoch: 244/300 Train Loss: 0.9748 Accuracy: 0.7927 Time: 2.66363  | Val Loss: 1.1694 Accuracy: 0.7182\n",
      "Epoch: 245/300 Train Loss: 0.9761 Accuracy: 0.7939 Time: 2.57090  | Val Loss: 1.1734 Accuracy: 0.7193\n",
      "Epoch: 246/300 Train Loss: 0.9763 Accuracy: 0.7926 Time: 2.95645  | Val Loss: 1.1773 Accuracy: 0.7190\n",
      "Epoch: 247/300 Train Loss: 0.9653 Accuracy: 0.7975 Time: 2.17509  | Val Loss: 1.1795 Accuracy: 0.7180\n",
      "Epoch: 248/300 Train Loss: 0.9731 Accuracy: 0.7950 Time: 2.55361  | Val Loss: 1.1731 Accuracy: 0.7225\n",
      "Epoch: 249/300 Train Loss: 0.9660 Accuracy: 0.7967 Time: 2.79089  | Val Loss: 1.1782 Accuracy: 0.7184\n",
      "Epoch: 250/300 Train Loss: 0.9658 Accuracy: 0.7982 Time: 2.63509  | Val Loss: 1.1733 Accuracy: 0.7183\n",
      "Epoch: 251/300 Train Loss: 0.9705 Accuracy: 0.7967 Time: 2.32757  | Val Loss: 1.1738 Accuracy: 0.7177\n",
      "Epoch: 252/300 Train Loss: 0.9684 Accuracy: 0.7965 Time: 2.44360  | Val Loss: 1.1739 Accuracy: 0.7213\n",
      "Epoch: 253/300 Train Loss: 0.9679 Accuracy: 0.7972 Time: 2.50802  | Val Loss: 1.1713 Accuracy: 0.7208\n",
      "Epoch: 254/300 Train Loss: 0.9667 Accuracy: 0.7986 Time: 2.62069  | Val Loss: 1.1720 Accuracy: 0.7216\n",
      "Epoch: 255/300 Train Loss: 0.9621 Accuracy: 0.8016 Time: 2.32660  | Val Loss: 1.1744 Accuracy: 0.7218\n",
      "Epoch: 256/300 Train Loss: 0.9632 Accuracy: 0.7988 Time: 3.02376  | Val Loss: 1.1711 Accuracy: 0.7210\n",
      "Epoch: 257/300 Train Loss: 0.9592 Accuracy: 0.7993 Time: 2.89530  | Val Loss: 1.1720 Accuracy: 0.7206\n",
      "Epoch: 258/300 Train Loss: 0.9597 Accuracy: 0.8020 Time: 2.58320  | Val Loss: 1.1732 Accuracy: 0.7179\n",
      "Epoch: 259/300 Train Loss: 0.9614 Accuracy: 0.7989 Time: 2.59543  | Val Loss: 1.1666 Accuracy: 0.7211\n",
      "Epoch: 260/300 Train Loss: 0.9596 Accuracy: 0.8007 Time: 2.82692  | Val Loss: 1.1774 Accuracy: 0.7153\n",
      "Epoch: 261/300 Train Loss: 0.9598 Accuracy: 0.7996 Time: 2.74724  | Val Loss: 1.1766 Accuracy: 0.7169\n",
      "Epoch: 262/300 Train Loss: 0.9554 Accuracy: 0.8033 Time: 2.63361  | Val Loss: 1.1712 Accuracy: 0.7227\n",
      "Epoch: 263/300 Train Loss: 0.9539 Accuracy: 0.8036 Time: 2.27723  | Val Loss: 1.1718 Accuracy: 0.7212\n",
      "Epoch: 264/300 Train Loss: 0.9541 Accuracy: 0.8042 Time: 2.36541  | Val Loss: 1.1720 Accuracy: 0.7237\n",
      "Epoch: 265/300 Train Loss: 0.9601 Accuracy: 0.8011 Time: 2.33600  | Val Loss: 1.1753 Accuracy: 0.7215\n",
      "Epoch: 266/300 Train Loss: 0.9568 Accuracy: 0.8022 Time: 2.95002  | Val Loss: 1.1780 Accuracy: 0.7190\n",
      "Epoch: 267/300 Train Loss: 0.9510 Accuracy: 0.8058 Time: 2.84826  | Val Loss: 1.1790 Accuracy: 0.7177\n",
      "Epoch: 268/300 Train Loss: 0.9524 Accuracy: 0.8038 Time: 2.62040  | Val Loss: 1.1759 Accuracy: 0.7205\n",
      "Epoch: 269/300 Train Loss: 0.9493 Accuracy: 0.8062 Time: 2.66305  | Val Loss: 1.1771 Accuracy: 0.7182\n",
      "Epoch: 270/300 Train Loss: 0.9529 Accuracy: 0.8055 Time: 2.84587  | Val Loss: 1.1762 Accuracy: 0.7191\n",
      "Epoch: 271/300 Train Loss: 0.9522 Accuracy: 0.8047 Time: 2.85734  | Val Loss: 1.1730 Accuracy: 0.7199\n",
      "Epoch: 272/300 Train Loss: 0.9485 Accuracy: 0.8057 Time: 2.62291  | Val Loss: 1.1745 Accuracy: 0.7178\n",
      "Epoch: 273/300 Train Loss: 0.9516 Accuracy: 0.8053 Time: 2.81061  | Val Loss: 1.1773 Accuracy: 0.7171\n",
      "Epoch: 274/300 Train Loss: 0.9472 Accuracy: 0.8082 Time: 2.59146  | Val Loss: 1.1725 Accuracy: 0.7210\n",
      "Epoch: 275/300 Train Loss: 0.9422 Accuracy: 0.8096 Time: 2.52475  | Val Loss: 1.1846 Accuracy: 0.7164\n",
      "Epoch: 276/300 Train Loss: 0.9444 Accuracy: 0.8089 Time: 2.48805  | Val Loss: 1.1778 Accuracy: 0.7187\n",
      "Epoch: 277/300 Train Loss: 0.9504 Accuracy: 0.8066 Time: 2.88918  | Val Loss: 1.1716 Accuracy: 0.7223\n",
      "Epoch: 278/300 Train Loss: 0.9410 Accuracy: 0.8092 Time: 2.57853  | Val Loss: 1.1760 Accuracy: 0.7216\n",
      "Epoch: 279/300 Train Loss: 0.9469 Accuracy: 0.8082 Time: 2.63327  | Val Loss: 1.1737 Accuracy: 0.7208\n",
      "Epoch: 280/300 Train Loss: 0.9451 Accuracy: 0.8084 Time: 2.92630  | Val Loss: 1.1731 Accuracy: 0.7210\n",
      "Epoch: 281/300 Train Loss: 0.9473 Accuracy: 0.8069 Time: 2.70359  | Val Loss: 1.1748 Accuracy: 0.7209\n",
      "Epoch: 282/300 Train Loss: 0.9394 Accuracy: 0.8122 Time: 2.99120  | Val Loss: 1.1781 Accuracy: 0.7208\n",
      "Epoch: 283/300 Train Loss: 0.9437 Accuracy: 0.8068 Time: 2.98290  | Val Loss: 1.1741 Accuracy: 0.7211\n",
      "Epoch: 284/300 Train Loss: 0.9456 Accuracy: 0.8077 Time: 2.62745  | Val Loss: 1.1741 Accuracy: 0.7246\n",
      "Epoch: 285/300 Train Loss: 0.9383 Accuracy: 0.8117 Time: 2.42014  | Val Loss: 1.1777 Accuracy: 0.7216\n",
      "Epoch: 286/300 Train Loss: 0.9389 Accuracy: 0.8119 Time: 2.74149  | Val Loss: 1.1778 Accuracy: 0.7221\n",
      "Epoch: 287/300 Train Loss: 0.9371 Accuracy: 0.8106 Time: 2.44526  | Val Loss: 1.1798 Accuracy: 0.7191\n",
      "Epoch: 288/300 Train Loss: 0.9372 Accuracy: 0.8121 Time: 2.72601  | Val Loss: 1.1787 Accuracy: 0.7177\n",
      "Epoch: 289/300 Train Loss: 0.9369 Accuracy: 0.8112 Time: 2.72992  | Val Loss: 1.1807 Accuracy: 0.7191\n",
      "Epoch: 290/300 Train Loss: 0.9358 Accuracy: 0.8141 Time: 2.36895  | Val Loss: 1.1780 Accuracy: 0.7208\n",
      "Epoch: 291/300 Train Loss: 0.9367 Accuracy: 0.8122 Time: 2.59811  | Val Loss: 1.1802 Accuracy: 0.7203\n",
      "Epoch: 292/300 Train Loss: 0.9339 Accuracy: 0.8153 Time: 2.52319  | Val Loss: 1.1795 Accuracy: 0.7186\n",
      "Epoch: 293/300 Train Loss: 0.9367 Accuracy: 0.8109 Time: 2.84386  | Val Loss: 1.1780 Accuracy: 0.7198\n",
      "Epoch: 294/300 Train Loss: 0.9359 Accuracy: 0.8105 Time: 2.92209  | Val Loss: 1.1828 Accuracy: 0.7191\n",
      "Epoch: 295/300 Train Loss: 0.9341 Accuracy: 0.8137 Time: 2.80990  | Val Loss: 1.1835 Accuracy: 0.7169\n",
      "Epoch: 296/300 Train Loss: 0.9279 Accuracy: 0.8138 Time: 2.76432  | Val Loss: 1.1759 Accuracy: 0.7183\n",
      "Epoch: 297/300 Train Loss: 0.9355 Accuracy: 0.8127 Time: 2.64076  | Val Loss: 1.1814 Accuracy: 0.7197\n",
      "Epoch: 298/300 Train Loss: 0.9354 Accuracy: 0.8130 Time: 2.76807  | Val Loss: 1.1789 Accuracy: 0.7174\n",
      "Epoch: 299/300 Train Loss: 0.9332 Accuracy: 0.8130 Time: 2.62663  | Val Loss: 1.1759 Accuracy: 0.7216\n",
      "Epoch: 300/300 Train Loss: 0.9335 Accuracy: 0.8126 Time: 2.62033  | Val Loss: 1.1760 Accuracy: 0.7204\n"
     ]
    }
   ],
   "source": [
    "net = ViT(\n",
    "    num_classes=10,\n",
    "    image_size=32,\n",
    "    patch_size=16,\n",
    "    embed_dim=384,\n",
    "    n_heads=12,\n",
    "    diff_dim=384,\n",
    "    dropout=0.0,\n",
    "    num_layers=7,\n",
    ").to(DEVICE)\n",
    "print(f\"#Parameter: {count_trainable_parameter(net)}\")\n",
    "criteria = nn.CrossEntropyLoss(label_smoothing=0.1)\n",
    "optimizer = torch.optim.Adam(net.parameters(), lr=1e-4, betas=(0.9, 0.999))\n",
    "\n",
    "base_scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(\n",
    "    optimizer, max_epochs, eta_min=1e-5\n",
    ")\n",
    "scheduler = GradualWarmupScheduler(\n",
    "    optimizer,\n",
    "    multiplier=1.0,\n",
    "    total_epoch=10,\n",
    "    after_scheduler=base_scheduler,\n",
    ")\n",
    "patch_16 = naive_train_classification_model(\n",
    "    net,\n",
    "    criteria,\n",
    "    max_epochs,\n",
    "    train_dataloader,\n",
    "    val_dataloader,\n",
    "    DEVICE,\n",
    "    optimizer,\n",
    "    scheduler,\n",
    "    verbose=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "821ccd01",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9UAAAPcCAYAAABPRZjXAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd8VFX6x/HPnUnvJJAQIEDovYOgVBFYEBXFrgi2tYCNZVFsa8eCCjZcFwQV8ecqRRYVRSmCgoJUKTFAQigJLZBeZ+7vjyEDkZowk0ky3/frNa+ZuXPLM8OuJ8895zzHME3TRERERERERETKzOLpAERERERERESqKiXVIiIiIiIiIuWkpFpERERERESknJRUi4iIiIiIiJSTkmoRERERERGRclJSLSIiIiIiIlJOSqpFREREREREyklJtYiIiIiIiEg5KakWERERERERKScl1SJu8ssvv/DMM89w7Ngxl5971KhRNGzY0OXnLWEYBs8884zbzi8iIiLnb9myZRiGwbJly877mOTkZAzDYObMmW6LS0QclFSLuMkvv/zCs88+65ak+qmnnmLevHkuP6+IiIiIiJSNj6cDEBHIy8sjMDDwvPdv3LixG6MREREREZHzpZ5qETd45pln+Oc//wlAfHw8hmE4h201bNiQoUOHMnfuXDp27EhAQADPPvssAO+++y69e/cmOjqa4OBg2rZty6uvvkpRUVGp859u+LdhGIwZM4ZPPvmEli1bEhQURPv27Vm4cKFLvtMff/zBVVddRY0aNQgICKBDhw589NFHpfax2+288MILNG/enMDAQCIiImjXrh1Tpkxx7nPo0CH+/ve/ExcXh7+/P7Vq1eKSSy7hhx9+cEmcIiIinjZ//nwMw+DHH3885bOpU6diGAabNm1i7dq13HjjjTRs2JDAwEAaNmzITTfdxO7du90W28qVK+nfvz+hoaEEBQVx8cUX8/XXX5faJzc3l3HjxhEfH09AQACRkZF06dKFzz77zLnPrl27uPHGG6lTpw7+/v7ExMTQv39/NmzY4LbYRSor9VSLuMFdd91Feno6b7/9NnPnziU2NhaAVq1aAbBu3Tq2bdvGk08+SXx8PMHBwQDs3LmTm2++mfj4ePz8/Ni4cSMvvvgi27dv58MPPzzndb/++mvWrFnDc889R0hICK+++ipXX301CQkJNGrUqNzfJyEhgYsvvpjo6GjeeustoqKimDVrFqNGjeLAgQOMHz8egFdffZVnnnmGJ598kt69e1NUVMT27dtLDYEfMWIE69at48UXX6RZs2YcO3aMdevWceTIkXLHJyIiUpkMHTqU6OhoZsyYQf/+/Ut9NnPmTDp16kS7du348ssvad68OTfeeCORkZGkpqYydepUunbtytatW6lZs6ZL41q+fDkDBgygXbt2TJ8+HX9/f9577z2uuOIKPvvsM2644QYAxo4dyyeffMILL7xAx44dycnJ4Y8//ijVVg8ZMgSbzcarr75K/fr1OXz4ML/88otbpr2JVHqmiLjFa6+9ZgJmUlJSqe0NGjQwrVarmZCQcNbjbTabWVRUZH788cem1Wo109PTnZ+NHDnSbNCgQan9ATMmJsbMzMx0bktLSzMtFos5ceLEMsUOmP/617+c72+88UbT39/fTElJKbXf4MGDzaCgIPPYsWOmaZrm0KFDzQ4dOpz13CEhIebDDz9cpnhERESqmrFjx5qBgYHONtI0TXPr1q0mYL799tunPaa4uNjMzs42g4ODzSlTpji3L1261ATMpUuXnvf1k5KSTMCcMWOGc1v37t3N6OhoMysrq9Q127RpY9arV8+02+2maZpmmzZtzGHDhp3x3IcPHzYBc/Lkyecdj0h1puHfIh7Qrl07mjVrdsr29evXc+WVVxIVFYXVasXX15fbbrsNm83Gn3/+ec7z9uvXj9DQUOf7mJgYoqOjL3gY2ZIlS+jfvz9xcXGlto8aNYrc3FxWrVoFQLdu3di4cSP3338/3333HZmZmaecq1u3bsycOZMXXniB1atXnzK0XUREpDq44447yMvL4/PPP3dumzFjBv7+/tx8880AZGdn8+ijj9KkSRN8fHzw8fEhJCSEnJwctm3b5tJ4cnJy+PXXX7n22msJCQlxbrdarYwYMYK9e/eSkJAAONrqb7/9lscee4xly5aRl5dX6lyRkZE0btyY1157jTfeeIP169djt9tdGq9IVaKkWsQDSoaDnywlJYVevXqxb98+pkyZwooVK1izZg3vvvsuwCkN2ulERUWdss3f3/+8jj2bI0eOnDbmOnXqOD8HmDBhApMmTWL16tUMHjyYqKgo+vfvz9q1a53HfP7554wcOZJp06bRo0cPIiMjue2220hLS7ugGEVERCqT1q1b07VrV2bMmAGAzWZj1qxZXHXVVURGRgJw8803884773DXXXfx3Xff8dtvv7FmzRpq1ap1wW33Xx09ehTTNM+rPX/rrbd49NFHmT9/Pv369SMyMpJhw4aRmJgI4JwvPmjQIF599VU6depErVq1ePDBB8nKynJp3CJVgZJqEQ8wDOOUbfPnzycnJ4e5c+dy66230rNnT7p06YKfn58HIiwtKiqK1NTUU7bv378fwDnny8fHh7Fjx7Ju3TrS09P57LPP2LNnD4MGDSI3N9e57+TJk0lOTmb37t1MnDiRuXPnMmrUqAr7PiIiIhXh9ttvZ/Xq1Wzbto1FixaRmprK7bffDkBGRgYLFy5k/PjxPPbYY/Tv35+uXbvStm1b0tPTXR5LjRo1sFgs59WeBwcH8+yzz7J9+3bS0tKYOnUqq1ev5oorrnAe06BBA6ZPn05aWhoJCQk88sgjvPfee85CrSLeREm1iJv4+/sD59fDDCcS7ZLjAEzT5D//+Y/rgyuj/v37s2TJEmejW+Ljjz8mKCiI7t27n3JMREQE1157LaNHjyY9PZ3k5ORT9qlfvz5jxoxhwIABrFu3zl3hi4iIeMRNN91EQEAAM2fOZObMmdStW5eBAwcCjnbfNM1S7T7AtGnTsNlsLo8lODiYiy66iLlz55b628RutzNr1izq1at32qlpMTExjBo1iptuuomEhATnTfKTNWvWjCeffJK2bduqPRevpOrfIm7Stm1bAKZMmcLIkSPx9fWlefPmZ9x/wIAB+Pn5cdNNNzF+/Hjy8/OZOnUqR48eraiQz+hf//oXCxcupF+/fjz99NNERkby6aef8vXXX/Pqq68SHh4OwBVXXEGbNm3o0qULtWrVYvfu3UyePJkGDRrQtGlTMjIy6NevHzfffDMtWrQgNDSUNWvWsGjRIq655hoPf0sRERHXioiI4Oqrr2bmzJkcO3aMcePGYbE4+rTCwsLo3bs3r732GjVr1qRhw4YsX76c6dOnExER4ZZ4Jk6cyIABA+jXrx/jxo3Dz8+P9957jz/++IPPPvvMeYP/oosuYujQobRr144aNWqwbds2PvnkE3r06EFQUBCbNm1izJgxXHfddTRt2hQ/Pz+WLFnCpk2beOyxx9wSu0hlpqRaxE369u3LhAkT+Oijj/jPf/6D3W5n6dKlZ9y/RYsWzJkzhyeffJJrrrmGqKgobr75ZsaOHcvgwYMrMPJTNW/enF9++YXHH3+c0aNHk5eXR8uWLZkxY0apYdv9+vVjzpw5TJs2jczMTGrXrs2AAQN46qmn8PX1JSAggIsuuohPPvmE5ORkioqKqF+/Po8++qhzWS4REZHq5Pbbb3eu7/zXqU6zZ8/moYceYvz48RQXF3PJJZewePFiLr/8crfE0qdPH5YsWcK//vUvRo0ahd1up3379ixYsIChQ4c697v00ktZsGABb775Jrm5udStW5fbbruNJ554AoDatWvTuHFj3nvvPfbs2YNhGDRq1IjXX3+dBx54wC2xi1RmhmmapqeDEBEREREREamKNKdaREREREREpJw0/FvEixQXF5/1c4vF4pzrJSIiIpWPaZrnLGRmtVpPu9KIiLiH/noW8RLJycn4+vqe9fHcc895OkwRERE5i+XLl5+zPf/oo488HaaIV9GcahEvUVhYyKZNm866T506dahTp04FRSQiIiJllZWVRUJCwln3iY+PJyoqqoIiEhEl1SIiIiIiIiLlpOHfIiIiIiIiIuVUJQqV2e129u/fT2hoqIouiIhIpWCaJllZWdSpU0cF/lxAbb2IiFQ259vWV4mkev/+/cTFxXk6DBERkVPs2bOHevXqeTqMKk9tvYiIVFbnauurRFIdGhoKOL5MWFiYh6MRERGBzMxM4uLinG2UXBi19SIiUtmcb1tfJZLqkmFgYWFhamhFRKRS0VBl11BbLyIildW52npNAhMREREREREpJyXVIiIiIiIiIuWkpFpERERERESknKrEnGoRkarKbrdTWFjo6TCkHHx9fbFarZ4OQ0REqgCbzUZRUZGnw5AyclVbr6RaRMRNCgsLSUpKwm63ezoUKaeIiAhq166tYmQiInJapmmSlpbGsWPHPB2KlJMr2nol1SIibmCaJqmpqVitVuLi4rBYNNumKjFNk9zcXA4ePAhAbGyshyMSEZHKqCShjo6OJigoSDdhqxBXtvVKqkVE3KC4uJjc3Fzq1KlDUFCQp8ORcggMDATg4MGDREdHayi4iIiUYrPZnAl1VFSUp8ORcnBVW6+uExERN7DZbAD4+fl5OBK5ECU3RDRPTkRE/qqkbdDN86rNFW29kmoRETfSMLCqTf9+IiJyLmorqjZX/PspqRYREREREREpJyXVIiLiUcnJyRiGwYYNGzwdioiIiLhBdW/rlVSLiIjLLFu2DMMwPLa0yI4dOwgNDSUiIsIj1xcREanu1NafSkm1iIhUC0VFRdx000306tXL06GIiIiIG1TWtl5JtYiIOPXt25cxY8YwZswYIiIiiIqK4sknn8Q0TQBmzZpFly5dCA0NpXbt2tx8883O9R2Tk5Pp168fADVq1MAwDEaNGgWA3W7nlVdeoUmTJvj7+1O/fn1efPHFUtfetWsX/fr1IygoiPbt27Nq1aoyxf7kk0/SokULrr/++gv8FURERKovtfWup6RaRKQCmKZJbmGxRx4ljeT5+uijj/Dx8eHXX3/lrbfe4s0332TatGkAFBYW8vzzz7Nx40bmz59PUlKSszGNi4tjzpw5ACQkJJCamsqUKVMAmDBhAq+88gpPPfUUW7duZfbs2cTExJS67hNPPMG4cePYsGEDzZo146abbqK4uPi8Yl6yZAlffPEF7777bpm+q4iIiKuorffett7H0wFUtH8s+wc208azFz9LuH+4p8MRES+RV2Sj1dPfeeTaW58bRJDf+f/nPi4ujjfffBPDMGjevDmbN2/mzTff5O677+aOO+5w7teoUSPeeustunXrRnZ2NiEhIURGRgIQHR3tnOuUlZXFlClTeOeddxg5ciQAjRs3pmfPnqWuO27cOC6//HIAnn32WVq3bs2OHTto0aLFWeM9cuQIo0aNYtasWYSFhZ3395Tq6z+b/sPWI1u5qcVNdIvt5ulwRMRLqK333rbe63qql6Qs4ceUH8kvzvd0KCIilVL37t1LrdnYo0cPEhMTsdlsrF+/nquuuooGDRoQGhpK3759AUhJSTnj+bZt20ZBQQH9+/c/63XbtWvnfB0bGwvgHG52NnfffTc333wzvXv3Pue+4h3WHVzHDyk/sC97n6dDERGplNTWu5bX9VRbDAuYYFK2IRIiIhci0NfK1ucGeezarpCfn8/AgQMZOHAgs2bNolatWqSkpDBo0CAKCwvPfP3AwPM6v6+vr/N1SUNvt9vPedySJUtYsGABkyZNAhzD7+x2Oz4+PnzwwQel7riLd7AYXtdnICKVgNr6c6uubb13JtWA3Tz3P56IiKsYhlGmYVmetHr16lPeN23alO3bt3P48GFefvll4uLiAFi7dm2pff38/ACw2WzObU2bNiUwMJAff/yRu+66y+Xxrlq1qtT1vvrqK1555RV++eUX6tat6/LrSeVnQW29iFQ8tfXe29ZXjX91Fyq5I2IzbefYU0TEO+3Zs4exY8dyzz33sG7dOt5++21ef/116tevj5+fH2+//Tb33nsvf/zxB88//3ypYxs0aIBhGCxcuJAhQ4YQGBhISEgIjz76KOPHj8fPz49LLrmEQ4cOsWXLFu68884Ljrdly5al3q9duxaLxUKbNm0u+NxSNTl7P1BSLSJyOmrrXcvrxkdZDcfQiLJWyBMR8Ra33XYbeXl5dOvWjdGjR/PAAw/w97//nVq1ajFz5ky++OILWrVqxcsvv+wchlWibt26PPvsszz22GPExMQwZswYAJ566in+8Y9/8PTTT9OyZUtuuOGG85pDJVIeBo6kWm29iMjpqa13LcOsAi1OZmYm4eHhZGRkXHC1t4s/u5iswiwWDFtAfHi8iyIUESktPz+fpKQk4uPjCQgI8HQ4561v37506NCByZMnezqUSuFs/46ubJvEtb/nI0sf4YeUH3jyoie5ocUNLopQRKQ0tfXVgyvaevVUi4iISLWi4d8iIlKRvC6pLilUpjnVIiJVw+DBgwkJCTnt46WXXvJ0eFIJqSipiEjVUtXbeq8rVKaGVkTkzJYtW+bpEE4xbdo08vLyTvtZZGRkBUcjVUFJ9W+NShMROZXaetfzvqRay2yIiFQplWGpDKliHKO/1daLiFQRVb2t97rh35pnJSIiUr2VjEozUU+1iIi4n9cl1SpUJiIiUr1p+LeIiFQkr0uqjdzDANjyjno4EhEREXEHjUoTEZGK5HVJtbUwFwCzKNfDkYiIiIg7GMcnVWtOtYiIVASvS6pLvrDNXuzROERERMQ9SuZUi4iIVASva3VKvrDdrnWqRUQqg+TkZAzDYMOGDZ4ORaoJLZ8pIlK5VPe23guT6pIhYUqqRURcbdmyZRiGwbFjxyr0ut999x3du3cnNDSUWrVqMXz4cJKSkio0Bqk8nHOqlVSLiLic2vpTeV1SfXzpSuwa/i0iUi3s2rWLq666iksvvZQNGzbw3XffcfjwYa655hpPhyYeUjKnWtW/RUSqh8re1ntdUm09/mzadfdaROSv+vbty5gxYxgzZgwRERFERUXx5JNPOpOTWbNm0aVLF0JDQ6lduzY333wzBw8eBBxDu/r16wdAjRo1MAyDUaNGAWC323nllVdo0qQJ/v7+1K9fnxdffLHUtXft2kW/fv0ICgqiffv2rFq16rxiXrduHTabjRdeeIHGjRvTqVMnxo0bx8aNGykqKnLRLyNVidapFhE5M7X1rud1SXXJ3WubqZ5qEfGAwpwzP4ryy7Bv3vntWw4fffQRPj4+/Prrr7z11lu8+eabTJs2zXGZwkKef/55Nm7cyPz580lKSnI2pnFxccyZMweAhIQEUlNTmTJlCgATJkzglVde4amnnmLr1q3Mnj2bmJiYUtd94oknGDduHBs2bKBZs2bcdNNNFBef+7/VXbp0wWq1MmPGDGw2GxkZGXzyyScMHDgQX1/fcv0GUrWp+reIeJTaeq9r6308HUBFs8a0gfStmGF1PR2KiHijl+qc+bOmA+GWL068f60JnGn5vwY94favT7yf3BZyj5y63zMZZQ4xLi6ON998E8MwaN68OZs3b+bNN9/k7rvv5o477nDu16hRI9566y26detGdnY2ISEhREZGAhAdHU1ERAQAWVlZTJkyhXfeeYeRI0cC0LhxY3r27FnquuPGjePyyy8H4Nlnn6V169bs2LGDFi1anDXehg0b8v3333Pddddxzz33YLPZ6NGjB998802Zv7tUDypUJiIepbYe8K623ut6qi0Wx30Em4aEiYicVvfu3Z2FngB69OhBYmIiNpuN9evXc9VVV9GgQQNCQ0Pp27cvACkpKWc837Zt2ygoKKB///5nvW67du2cr2NjYwGcw83OJi0tjbvuuouRI0eyZs0ali9fjp+fH9dee63m1Hqpkv/9avi3iMjpqa13La/rqXZWBEV3r0XEAx7ff+bPDGvp9//ccZZ9/3JP9OHN5Y/pPOXn5zNw4EAGDhzIrFmzqFWrFikpKQwaNIjCwsIzHhcYGHhe5z95+Jbzv9XnUf/i3XffJSwsjFdffdW5bdasWcTFxfHrr7/SvXv387q+VB8qVCYiHqW2/oyqa1vvdUm19dgeAOyZZ/kfu4iIu/gFe37fc1i9evUp75s2bcr27ds5fPgwL7/8MnFxcQCsXbu2dBh+fgDYbCeWLWzatCmBgYH8+OOP3HXXXS6Ls0Rubi5Wa+k/Ukren09DLdWPc/i3bqCLiCeorXdZnCUqe1vvdcO/jbx0AOz5mR6ORESkctqzZw9jx44lISGBzz77jLfffpuHHnqI+vXr4+fnx9tvv82uXbtYsGABzz//fKljGzRogGEYLFy4kEOHDpGdnU1AQACPPvoo48eP5+OPP2bnzp2sXr2a6dOnuyTeyy+/nDVr1vDcc8+RmJjIunXruP3222nQoAEdO3Z0yTWkanFW/1ZPtYjIaamtdy2vS6qtziFhtnPsKSLinW677Tby8vLo1q0bo0eP5oEHHuDvf/87tWrVYubMmXzxxRe0atWKl19+mUmTJpU6tm7dujz77LM89thjxMTEMGbMGACeeuop/vGPf/D000/TsmVLbrjhhvOaQ3U+Lr30UmbPns38+fPp2LEjf/vb3/D392fRokXnPRxNqhfnkEIVKhMROS219a5lmGW4jTt16lSmTp1KcnIyAK1bt+bpp59m8ODBZzxm+fLljB07li1btlCnTh3Gjx/PvffeW6YgMzMzCQ8PJyMjg7CwsDId+1d3TW/Prz52Xm5xO5dfNPaCziUicib5+fkkJSURHx9PQECAp8M5b3379qVDhw5MnjzZ06FUCmf7d3Rl2ySu/T3f/P1NPvzjQ0a0GsH4ruNdFKGISGlq66sHV7T1ZeqprlevHi+//DJr165l7dq1XHrppVx11VVs2bLltPsnJSUxZMgQevXqxfr163n88cd58MEHnWubeULJSHy7eqpFRESqJQ3/FhGRilSmpPqKK65gyJAhNGvWjGbNmvHiiy8SEhJyykT3Eu+//z7169dn8uTJtGzZkrvuuos77rjjlCEEFamkIqjdrqRaRKQqGDx4MCEhIad9vPTSS54OTyohZ1uv4d8iIlVCVW/ry13922az8cUXX5CTk0OPHj1Ou8+qVasYOHBgqW2DBg1i+vTpFBUVlSqpXlEshpJqEZEzWbZsmadDOMW0adPIy8s77WeRkZEVHI1UBc7q30qqRUROobbe9cqcVG/evJkePXqQn59PSEgI8+bNo1WrVqfdNy0tjZiYmFLbYmJiKC4u5vDhw84Fv/+qoKCAgoIC5/vMTNdV6s7JL4ZgyD7LOmsiIlJ51K1b19MhSBVTUqjMRMO/RUSqgqre1pe5+nfz5s3ZsGEDq1ev5r777mPkyJFs3br1jPuXNGwlSuY3/XX7ySZOnEh4eLjzUbJGmiustzcDoKBGE5edU0RERCoPC5pTLSIiFafMSbWfnx9NmjShS5cuTJw4kfbt2zNlypTT7lu7dm3S0tJKbTt48CA+Pj5ERUWd8RoTJkwgIyPD+dizZ09ZwzyjYuP4YuWcOakXERGRqsu5pBYa/i0iIu5X7jnVJUzTLDVU+2Q9evTgf//7X6lt33//PV26dDnrfGp/f3/8/f0vNLTTMo7fR7BpTrWIiEi1pOrfIiJSkcrUU/3444+zYsUKkpOT2bx5M0888QTLli3jlltuARw9zLfddptz/3vvvZfdu3czduxYtm3bxocffsj06dMZN26ca79FGcSTCoCRuddjMYiIiIj7qPq3iIhUpDL1VB84cIARI0aQmppKeHg47dq1Y9GiRQwYMACA1NRUUlJSnPvHx8fzzTff8Mgjj/Duu+9Sp04d3nrrLYYPH+7ab1EGtTnKbsDMPeSxGERERMR9VKhMREQqUpmS6unTp5/185kzZ56yrU+fPqxbt65MQbmXo6G16e61iEilkJycTHx8POvXr6dDhw6eDkeqAS2pJSJSuVT3tr7MhcqqOsvxm9Zap1pExPWWLVuGYRgcO3aswq6Zn5/PqFGjaNu2LT4+PgwbNuy0+xUUFPDEE0/QoEED/P39ady4MR9++GGFxSkVR9W/RUTcR239qS64UFlVo3lWIiLVi81mIzAwkAcffJA5c+accb/rr7+eAwcOMH36dJo0acLBgwcpLi6uwEiloqj6t4hI9VLZ23qv66k2nMO/1VMtIvJXffv2ZcyYMYwZM4aIiAiioqJ48sknnT1+s2bNokuXLoSGhlK7dm1uvvlmDh48CDiGdvXr1w+AGjVqYBgGo0aNAsBut/PKK6/QpEkT/P39qV+/Pi+++GKpa+/atYt+/foRFBRE+/btWbVq1XnFHBwczNSpU7n77rupXbv2afdZtGgRy5cv55tvvuGyyy6jYcOGdOvWjYsvvrg8P5NUciVtvXqqRUROpbbe9bw2qbbbdfdaRCqOaZrkFuV65FHWxOKjjz7Cx8eHX3/9lbfeeos333yTadOmAVBYWMjzzz/Pxo0bmT9/PklJSc7GNC4uznn3OCEhgdTUVKZMmQI4Vod45ZVXeOqpp9i6dSuzZ88mJiam1HWfeOIJxo0bx4YNG2jWrBk33XSTy+4uL1iwgC5duvDqq69St25dmjVrxrhx48jLy3PJ+aVy0ZJaIuIJauu9t633uuHfJYXKNCRMRCpSXnEeF82+yCPX/vXmXwnyDTrv/ePi4njzzTcxDIPmzZuzefNm3nzzTe6++27uuOMO536NGjXirbfeolu3bmRnZxMSEkJkZCQA0dHRREREAJCVlcWUKVN45513GDlyJACNGzemZ8+epa47btw4Lr/8cgCeffZZWrduzY4dO2jRosWFfH3AcWd85cqVBAQEMG/ePA4fPsz9999Penq65lVXQ0ZhNgB2W4GHIxERb6K23nvbeq/rqd5kbQtAdnhTD0ciIlI5de/e3TknFaBHjx4kJiZis9lYv349V111FQ0aNCA0NJS+ffsClFpO8a+2bdtGQUEB/fv3P+t127Vr53wdGxsL4BxudqHsdjuGYfDpp5/SrVs3hgwZwhtvvMHMmTPVW10NWTZ/CYA9c5+HIxERqZzU1ruW1/VUFxoBANgsXvfVRcSDAn0C+fXmXz12bVfIz89n4MCBDBw4kFmzZlGrVi1SUlIYNGgQhYWFZ75+4Pld39fX1/naWWjKRVN1YmNjqVu3LuHh4c5tLVu2xDRN9u7dS9OmutFanRglfQYa/i0iFUht/blV17be63qqSxpam5bUEpEKZBgGQb5BHnmcfCf6fKxevfqU902bNmX79u0cPnyYl19+mV69etGiRYtT7i77+fkBjiqdJZo2bUpgYCA//vhjOX+9C3fJJZewf/9+srOzndv+/PNPLBYL9erV81hcldHUqVNp164dYWFhhIWF0aNHD7799tuzHrN8+XI6d+5MQEAAjRo14v3336+gaE/PourfIuIBauu9t633uqS6vt0xFMwne6+HIxERqZz27NnD2LFjSUhI4LPPPuPtt9/moYceon79+vj5+fH222+za9cuFixYwPPPP1/q2AYNGmAYBgsXLuTQoUNkZ2cTEBDAo48+yvjx4/n444/ZuXMnq1evZvr06S6LeevWrWzYsIH09HQyMjLYsGEDGzZscH5+8803ExUVxe23387WrVv56aef+Oc//8kdd9xx3nfXvUW9evV4+eWXWbt2LWvXruXSSy/lqquuYsuWLafdPykpiSFDhtCrVy/Wr1/P448/fs4lT9zN2fuh5TNFRE5Lbb2LmVVARkaGCZgZGRkXfK4H377EbDOzjfnkZ9e5IDIRkdPLy8szt27daubl5Xk6lDLp06ePef/995v33nuvGRYWZtaoUcN87LHHTLvdbpqmac6ePdts2LCh6e/vb/bo0cNcsGCBCZjr1693nuO5554za9eubRqGYY4cOdI0TdO02WzmCy+8YDZo0MD09fU169evb7700kumaZpmUlLSKec4evSoCZhLly49r7gbNGhgAqc8TrZt2zbzsssuMwMDA8169eqZY8eONXNzc8963rP9O7qybarsatSoYU6bNu20n40fP95s0aJFqW333HOP2b179zJdw5W/5/v/7m+2mdnGvGP2kAs+l4jImaitV1tfwjDNyj/hKDMzk/DwcDIyMggLC7ugcz30Ti+WhB7jSr/mvHjTly6KUESktPz8fJKSkoiPjycgIMDT4Zy3vn370qFDByZPnuzpUCqFs/07urJtqqxsNhtffPEFI0eOZP369bRq1eqUfXr37k3Hjh2dS6oAzJs3j+uvv57c3NxS8+dOVlBQQEHBiercmZmZxMXFueT3fP2tfswMP0wHS10+GbHogs4lInImauurB1e09V43/Nty/CubmmclIiJyWps3byYkJAR/f3/uvfde5s2bd9qEGiAtLe2UdUhjYmIoLi7m8OHDZ7zGxIkTCQ8Pdz7i4uJc9wWOD/82qfT9BiIiUg14XVJdsk61zUVV5kRExL0GDx5MSEjIaR8vvfSSp8Orlpo3b86GDRtYvXo19913HyNHjmTr1q1n3P+vBXJKBsGdrXDOhAkTyMjIcD727NnjmuCB/b6NACjwOf81W0VExHOqelvvdetKGZRUBNXdaxGRv1q2bJmnQzjFtGnTzri+ZGRkZAVH4x38/Pxo0qQJAF26dGHNmjVMmTKFf//736fsW7t2bdLS0kptO3jwID4+PkRFRZ3xGv7+/vj7+7s28ON2BbYDfqXAt3oOyxcRuRBq613PC5Pq48O/TS2pJSJSFdStW9fTIXg90zRLzX8+WY8ePfjf//5Xatv3339Ply5dzjif2t0MwwDzRI+5iIhUblW9rfe64d8nltlQQysiIvJXjz/+OCtWrCA5OZnNmzfzxBNPsGzZMm655RbAMWz7tttuc+5/7733snv3bsaOHcu2bdv48MMPmT59OuPGjfPUV8DfPH4DwCzyWAwiIuI9vK6nertfB+A7joU29nQoIuIF1FNWtXnjv9+BAwcYMWIEqamphIeH065dOxYtWsSAAQMASE1NJSUlxbl/fHw833zzDY888gjvvvsuderU4a233mL48OGe+gpclPUjf4RCYF7auXcWEblA3thWVCeu+PfzuqS6wBoMQLHF6766iFQgq9UKQGFhIYGBgR6ORsorNzcXwGPDmD1h+vTpZ/185syZp2zr06cP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pEmTzphUT5w4kWeffdal8ZawWKzO+immqRvoIiLiXl43/BugrnHE8eLYHs8GIiIiUkk98MADLFiwgKVLl1KvXr0yH9+9e3cSExPP+PmECRPIyMhwPvbscV2bbFgsGMcLlNmVVIuIiJt5XU814Lx7bTM1JExERORkpmnywAMPMG/ePJYtW0Z8fHy5zrN+/XpiY2PP+Lm/vz/+/v7lDfOsLIbF2Wtgavi3iIi4mVcm1SUNrZbUEhERKW306NHMnj2br776itDQUNLS0gAIDw8nMDAQcPQy79u3j48//hiAyZMn07BhQ1q3bk1hYSGzZs1izpw5zJkzxyPfwWKxYByfU21ToTIREXEzr0yqjeNrV6p4iYiISGlTp04FoG/fvqW2z5gxg1GjRgGQmppKSkqK87PCwkLGjRvHvn37CAwMpHXr1nz99dcMGTKkosIuxWKA7fifOHbn+DQRERH38M6k+vizza6eahERkZOZpnnOfWbOnFnq/fjx4xk/frybIio7wzDYbcZg5SDF/mGeDkdERKo5ryxUZnEuqaWeahERkerGYgCmls8UEZGK4ZVJdUlPtV2FykRERKodi2FQ0tqr+reIiLibVybVh4gCoCCwlocjEREREVezWgwaGgcAsGcf8nA0IiJS3XllUp1OJAAF/hGeDURERERczjAgEEfVb1txnoejERGR6s4rk2rD0DwrERGR6spinKj4bVdbLyIibuaVSXWQWQiAWZjl4UhERETE1SyG4VynWstnioiIu3llUh1v7gHA92iihyMRERERV7MYJy+fqaRaRETcyyuTakvJMhum1qkWERGpbgzDOLHSB0qqRUTEvbwyqfY/nlTn2go8HImIiIi4Q0labbcpqRYREffyyqQ62O742tk2VQQVERGpjmymFQCVKRMREXfzyqQ6yHR87Ry7kmoREZHqaJsZD0BhaF0PRyIiItWdVybVgXbH3etsW76HIxERERH3OD782zQ9HIeIiFR33p1U25VUi4iIVE/Hi5JqnWoREXEzr0yqU3zaAJBptXo4EhEREXGHpsZeAIyMFA9HIiIi1Z1XJtV/+nYDIEvLbIiIiFRLIaajbopZrPopIiLiXl6ZVPsQDEBucbaHIxERERF3cC6pZeoGuoiIuJdXJtWhx9epzi/OwlQBExERkWrHOP5s2pVUi4iIe3llUt21YBsAxRSTrwrg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++7DarWyffv2RjcC7777Lrfccgvjxo3jjTfeIDIykj179rB9+/bjLs/vvfTSS6SmpvLss88SFBREz549cTgclJeXc//99xMXF4fT6eSXX37h4osvZtasWVx33XW+46+//no++ugjbrrpJh5//HGMRiMbN24kKysLgL/85S+89957fPLJJ9x8882+43bu3MmSJUt49dVXW1x2IYQQXcO0adOIjIxk1qxZTJo0qdFrs2fPZujQoQwcOJCvvvqKXr16ceWVVxIaGkpBQQGvv/46p512Gjt37iQ8PLzFZWjN2AjHF/dP1EMPPURaWhpvvPEGWq2WyMhISkpKAHjkkUeIjo6mpqaGOXPmMH78eBYtWuRLzt1uN1OnTuXXX3/lnnvuYeLEibjdbtasWUN2djYjR47kL3/5CxdccAGLFi1i8uTJvvedN28e+/bt46WXXmpx2YU46RQhurhnnnlGAZTMzMxG25OSkhSdTqekp6cf9XiPx6O4XC7lgw8+UHQ6nVJeXu57bfr06UpSUlKj/QElKipKsdlsvm2FhYWKVqtVnnzyyRZfR0M5Hn/8cSUsLEzxer2KoijK/v37FZ1Op1xzzTVHPLa6uloJCgpSRo8e7TuuOePGjVPGjRvXZPvvrzMzM1MBlO7duytOp/Oo5Xa73YrL5VJuuukmZciQIb7ty5cvVwDl4YcfPurx48aNUwYPHtxo22233aYEBQUp1dXVRz1WCCGEUBRFmTlzpmKxWJTKykrftp07dyqA8vLLLzd7jNvtVmpqahR/f3/lxRdf9G1fsmSJAihLlixpcXn+SGw8nrivKOp9zvTp05ts/32sb7iesWPHHne5J02apFx00UW+7R988IECKG+//fYRj/V4PEq3bt2UCy64oNH2qVOnKt27dz/q/YkQbU26fwtxFAMHDiQ1NbXJ9k2bNnH++ecTFhaGTqfDYDBw3XXX4fF42LNnzzHPO2HCBAIDA30/R0VFERkZecJPkBcvXszkyZOxWq2+cvzrX/+irKyM4uJiABYuXIjH4+GOO+444nlWrVqFzWbj9ttvR6PRnFAZjub888/HYDA02f7ll18yatQoAgIC0Ov1GAwG3n33XXbt2uXbZ968eQBHLTeordWbN29m5cqVANhsNj788EOmT59OQEBAq12LEEKIzuvGG2+kvr6ezz//3Ldt1qxZmEwmrr76agBqamp48MEH6dGjB3q9Hr1eT0BAALW1tY3iV0u1Vmw8nrjfEpdcckmz29944w2GDh2K2Wz2lXvRokVNym02m7nxxhuPeH6tVsudd97JDz/8QHZ2NqD2DJw/f36r358I0dokqRbiKBq6gx8uOzubMWPGkJeXx4svvsivv/7KunXrfF2N6+vrj3nesLCwJttMJtNxHdtg7dq1TJkyBYC3336blStXsm7dOh5++OFG5WjomhUfH3/Ecx3PPi3RXP198803XH755cTFxfHRRx+xevVq1q1bx4033ojdbm9UJp1OR3R09FHf44ILLiA5OdlX/7Nnz6a2trbVbyaEEEJ0Xv369eO0005j1qxZgDq55kcffcQFF1xAaGgoAFdffTWvvPIKN998Mz///DNr165l3bp1REREnFD8bk5rxsZTGdOff/55brvtNkaMGMHXX3/NmjVrWLduHWeffXajOikpKSE2Nhat9uipx4033ojFYuGNN94A1DlsLBbLUZNxIdoDGVMtxFE091R07ty51NbW8s0335CUlOTbvnnz5lNYMvjss88wGAz88MMPmM3mRuU7XEREBAC5ubkkJCQ0e67D9zkas9lMVVVVk+2lpaXN7t9c/X300UekpKTw+eefN3rd4XA0KZPH46GwsLDZQN5Aq9Vyxx138Pe//53nnnuO1157jUmTJtGrV6+jXosQQghxuBtuuIHbb7+dXbt2sX//fgoKCrjhhhsAqKqq4ocffuCRRx7hb3/7m++YhrHQf1RrxsbjifugxvTfnx/UmN7c+PAjxfTx48fz+uuvN9peXV3dpEwrVqzA6/UeNbG2Wq1Mnz6dd955h/vvv59Zs2Zx9dVXExwcfMRjhGgPpKVadHkNSzwd71PmhqBy+NJQiqLw9ttvt37hjlEOvV6PTqfzbauvr+fDDz9stN+UKVPQ6XRNAt7hRo4cidVq5Y033mh25vAGycnJ7Nmzp1EQLisr883cebzlNhqNjYJzYWFhkxlOp06dCnDUcje4+eabMRqNXHPNNaSnp3PnnXced3mEEEIIgKuuugqz2czs2bOZPXs2cXFxvh5hGo0GRVGaLAv5zjvv4PF4/vB7t2ZsPJ64D2pM37p1a6Nte/bsIT09/YTK/fs62bp1K6tXr25SbrvdzuzZs495zrvvvpvS0lIuvfRSKisrJaaLDkFaqkWXN2DAAABefPFFpk+fjsFgOGor55lnnonRaOSqq67igQcewG638/rrr1NRUXGqigzAueeey/PPP8/VV1/Nn//8Z8rKynj22WebBLfk5GT+/ve/88QTT1BfX89VV12F1Wpl586dlJaW8thjjxEQEMBzzz3HzTffzOTJk7nllluIiooiIyODLVu28MorrwBw7bXX8uabb/KnP/2JW265hbKyMp5++mmCgoKOu9wNy5TdfvvtXHrppeTk5PDEE08QExPD3r17ffuNGTOGa6+9ln//+98UFRUxbdo0TCYTmzZtws/Pj7vuusu3b3BwMNdddx2vv/46SUlJnHfeeX+wdoUQQnQ1wcHBXHTRRcyePZvKykruv/9+X6tqUFAQY8eO5ZlnniE8PJzk5GSWLVvGu+++2yqtqK0ZG48n7oMa0//0pz9x++23c8kll3DgwAGefvppX0v38Zb7iSee4JFHHmHcuHGkp6fz+OOPk5KSgtvt9u131VVXMWvWLGbMmEF6ejoTJkzA6/Xy22+/0adPH6688krfvqmpqZx99tnMmzeP0aNHM2jQoD9cv0KcdG08UZoQ7cJDDz2kxMbGKlqt1jdjZ1JSknLuuec2u//333+vDBo0SDGbzUpcXJzy17/+VZk3b16T2T6PNPv3HXfc0eScR5qF82jee+89pVevXorJZFK6deumPPnkk8q7777b7GzmH3zwgXLaaacpZrNZCQgIUIYMGaLMmjWr0T4//fSTMm7cOMXf31/x8/NT+vbtq/z3v/9ttM/777+v9OnTRzGbzUrfvn2Vzz///Iizfz/zzDPNlvupp55SkpOTFZPJpPTp00d5++23lUceeUT5/X9JHo9H+d///qf0799fMRqNitVqVdLS0pTvv/++yTmXLl2qAMpTTz11/BUohBBCHGbBggUKoADKnj17Gr2Wm5urXHLJJUpISIgSGBionH322cr27dubxO+Wzv7d2rHxWHHf6/UqTz/9tNKtWzfFbDYrw4cPVxYvXnzE2b+//PLLJmV2OBzK/fffr8TFxSlms1kZOnSoMnfu3Gbvf+rr65V//etfSs+ePRWj0aiEhYUpEydOVFatWtXkvLNnz1YA5bPPPjuhOhSirWgU5Sh9PYUQooO47777eP3118nJyWl2IjghhBBCdAyXXHIJa9asISsrq9lVRIRob6T7txCiQ1uzZg179uzhtdde49Zbb5WEWgghhOiAHA4HGzduZO3atcyZM4fnn39eEmrRYUhLtRDt0OHjkJqj1WqPuSxFV6HRaPDz8+Occ85h1qxZsja1EEKIdkNRlGNOZKbT6WQNZiArK4uUlBSCgoJ8y5cdPhmrEO2ZJNVCtDMNQeVoHnnkER599NFTUyAhhBBCtMjSpUuZMGHCUfeZNWsW119//akpkBDipJCkWoh2xul0Nlni4vdiY2OJjY09RSUSQgghREtUV1cfc4mqlJQUGbokRAcnSbUQQgghhBBCCNFCMihTCCGEEEIIIYRooQ4x+7fX6yU/P5/AwECZyEEIIUS7oCgK1dXVxMbGysSBrUBivRBCiPbmeGN9h0iq8/PzSUhIaOtiCCGEEE3k5OQQHx/f1sXo8CTWCyGEaK+OFes7RFIdGBgIqBcTFBTUxqURQgghwGazkZCQ4ItR4o+RWC+EEKK9Od5Yf8JJ9fLly3nmmWfYsGEDBQUFzJkzhwsvvPCoxyxbtoyZM2eyY8cOYmNjeeCBB5gxY8Zxv2dDN7CgoCAJtEIIIdoV6arcOiTWCyGEaK+OFetPeBBYbW0tgwYN4pVXXjmu/TMzMznnnHMYM2YMmzZt4u9//zt33303X3/99Ym+tRBCCCGEEEII0a6ccEv11KlTmTp16nHv/8Ybb5CYmMgLL7wAQJ8+fVi/fj3PPvssl1xyyYm+vRBCCCGEEEII0W6c9OlKV69ezZQpUxptO+uss1i/fj0ul6vZYxwOBzabrdGXEEIIIYQQQgjR3pz0pLqwsJCoqKhG26KionC73ZSWljZ7zJNPPonVavV9yWygQgghhBBCCCHao1OysObvB3YritLs9gYPPfQQVVVVvq+cnJyTXkYhhBBCCCGEEOJEnfQltaKjoyksLGy0rbi4GL1eT1hYWLPHmEwmTCbTyS6aEEIIIYQQQgjxh5z0luq0tDQWLlzYaNuCBQsYPnw4BoPhZL+9EEIIIYQQQghx0pxwUl1TU8PmzZvZvHkzoC6ZtXnzZrKzswG16/Z1113n23/GjBkcOHCAmTNnsmvXLt577z3effdd7r///ta5AiGEEEIIIYQQoo2ccPfv9evXM2HCBN/PM2fOBGD69OnMnj2bgoICX4INkJKSwk8//cS9997Lq6++SmxsLC+99JIspyWEEEIIIYQQosPTKA2zhrVjNpsNq9VKVVUVQUFBbV0cIYQQQmJTK5P6FEII0d4cb2w6JbN/CyGEEEIIIYQQnZEk1UIIIYQQQgghRAtJUi2EEEIIIYQQQrSQJNVCCCGEEEIIIUQLSVIthBBCCCGEEEK00AkvqSWEEEKcLNV2F+W1TpLC/NmWW0W01Ux4gBGnx4tJr0NRFNxehWq7m/zKegLNekL9jfgb9SiAy+Ol2OZga14leRX1+Bl1mA06dhVUU+9yMyAumNE9wkkM82vrSxVCCCFOmdIaB68uyaC0xknPyABuHJ2CSa/F41UXgjLotOi0mj/8PoqiUFLtICLQhEbT/PmKbXY2ZlcQZDEQY7UQG2zGpNcB4PEqzNmUx96iaq44LYFuEQEA1Ds97CupoV9sEBqNBrvLw56iatILqxndM5wYq4Vqu4vcinpigy1YLYY/fC0nQpJqIYQQJ6Syzkm9y0OM1dLkNUVRKK1xEuJnYFteFT9sLeC6tCSigszY7C4yS2pZvreErLI6/I06ksL8SQj1w6jTsGxPCd9uzqfO6aF/XBDb82z4G3XEhVjYU1TDoIRgcsvrKKt1trjsn5LD38/pzZ/Hdv8jVSCEEEJ0CIqi8MPWAh77fielNQ7f9teX7sPu9tCwuLLFoGNUj3DCA4zodRoGxQdzRrcwHvt+J15FYXBCMB6vwgersxjZPZxrRiSyNa+KpenFDEoI5ux+0YQHmPj3jzv5eUcRw5NCqHG4sdW7GN0znJvHdMOrKDy3YA+/7Cri8EWdTXotA+KsONxeimx2iqvVcr65fD/JYX70i7Wy/kA5RTYHA+KslFQ7KLTZfccbdBoiA80UVNVz8BkBE3tH8t71p530+m0g61QLIYTwcXm8rMgoZXN2JSaDFn+jngHxVoLMBr7fko+fUccrSzKod3q4/6xeeBWFvIp6DDottQ43i3cXU1brJC7YQlmtA7vLi9mgxesFp8fbqmUNDzBS6/BQ7/I02m7Ua+kREUBqVAD1Lg91Tg8JoX4EWwxsza3i3jNTGZYU8offX2JT65L6FEJ0NCszSsmtqOPiofEYdCdnVK3T7eWHrfn0jQ2id3Tj/xu9XgWXV+3JVVXvoqTajqLA3uIa3l2RiQYoqLKTV1kPQK+oQC4eGscna7M5UFZ3zPcO8TNQUec6GZdF7+hAnB4vhVV26pyN43igWc/AeCsrM8qOeo4Ak56EUD92Fdh824LMemx2N5cPj+fpSwf94XIeb2ySlmohhOjgFEVptotVTnkdm3Iq6R7hT7XdTd/YIPyNej5fl8P7q7IYmxpOQqgfW3OriAoyYbUY+GD1AXIr6pucS6/V4PY2fgb71LzdRyxTQwAP9jNQeVhADvYzMLFXJH1jg6hxuMkuqyO3sp46p5sBcVbOHxSHyaDl2015XDgkjn0ltZTXOhiXGsmGAxUkh/vRNyYIs0Ht1g1ql7A6pxudVoNGoyHQpEfbCl3YhBBCiCMpqKrnhlnrcHq8fL4uhxevHEJ6YTVfbsghu7yeoYnB3DWxJ9FWM99szOW1pfuY1CeSjKIanB4vE3pFcl1aEvqDyfjG7ApW7C3loiFxvkTx2835LNhRyP7SWswGLZcOi2dLThWBZj2lNQ4OlNXh8niJsVp8cbc5fkYdM8Z1589ju2E26Lh+VDL7S2oJDzBhMaqxNKu0ljX7y7C7PORV2vl0bTYVdS5C/AzcPaknn6/LIa+inplTUskormHupjwAbhvfnT1FNSzeXYzd5aFfbBB/mdyTzdmVhPob6R4ZwEdrDvDzjiKMei3jUiN48Oze9IhUu3UrisKeohp2F9oINOuxWoykRgUQaDZQUetkR76N7flVBJkNjOoRxoIdRSSG+XFGtzCCzHo0Gg37SmqosbuJCjITbTVT63Bj/90D95NNWqqFEKId8noV9hRX0yMiwBdwm7N6Xxl/+WwTMcEWLh0ah93l5UB5LUadjk/XZjdqxQ0PMNEtwp+1meVHfe8wfyPjekWg02ioqHOyJL0Ej1dheFIILq/C0MRgQvyMfLUhl/5xQfSICMDh8eLxKEzsE0nfmCA+WnOAWqeHv0zqyba8KkL9jXQL9z/i+KqOSGJT65L6FEKcbOW1Tj5bl83g+GBG9ggH1B5at320ET+jjheuGAzA+6uz+GjNAWx2N2f2jeLBs3rz7or9KMCMcd3xN+l55NvtvL/6gO/czT187hkZwKwbTmPqi79SbXc3Kc+0gTFoNRr2l9awPU9tbTXoNIxLjWD5nlJfDy+dVuMb+3w0wX4GvF4Fj1fh+lHJ9IkJwmoxMCwpBD/jibWlPr8gnS/W5/LMZQMZ0zMCALfH67snqXd6cHu9BJrVscser4KiKEe8Z6modeJv0mPUd6x5so83NklSLYQQbUxRFMprnRj1WkprnNhdHt+Yo0HxVm4e0w2LQcf2/Co+WpONv0mH26NOBOL2ejlanE0K86Oi1olGo6GqXm0x9jfqmD4ymbmb8tBoNFw0JI6qeheFNjuD4q3cODqlUfDNLqsjs6yWsT3DO1VS/EdJbGpdUp9CdG4bDlTw/qosxvQM57xBsb7eRi1xeHJ3NHaXh3//uJOqejchfgbmbsrDZndjMej45b5xxAVb+HZzHn/5bDMAT148gLIaB88u2NPoPMlhfmQd7C4d5m8kKsjMnqJq3F6Fpy8ZyKfrstmUXYlJr+W6tCQGJ4Tw+A87KLI5Gp1nUu9IekYFEmTR8+zP6Y3it0ajds/eXVjt2zY2NYKz+0VzZt8onvxpF7mV9VwxPAGNBsICTCSH+WHQackqqyU1KpDwABNw5B5sJ6q1ztORSVIthBDtQE55HRklNUQFmtlbXE2900NUkBmLUcfmnEocLi+L04vZklPZ4vc4d0AMKeH+7CqwYTHqSAj1o7LORa+oAK5NS0an1VBV5+LOTzdSWGXnpauG0CcmCK9XQaOhywfMlpLY1LqkPoXovOwuD5OeW+brohwdZOYf0/oQYNJz/5dbePjcPlw0JB6AVRml/OenXaR1C+O+Kb183ZNBbR196JutLNhZxItXDuHMvlEA/LStgP/8uIvbxnfHqyhkldYxqU8k767IZPHu4kZlMeg0uDwKZ/aN4q1rh3HeKyt8rcR+Rh31LnXyrvunpNIjMoDbP97oS34tBl2jHmCje4Tz4U2n4/YqLN5dzMB4q28Sz625lVzz9m9UO9QW6jevHcZZ/aJ9x365Poen5u1mfK9Izu4fTc/IAJLD/dmSU8nCnUVEWc1cc3qiDGdqY5JUCyHEKVRS7aDIZqd7RAB6nYYtOZX830+72JhdeULnsRh0WIw6QvwM3DelF7/sKiK3vB6Hx4tJr+WaEYlEBJjQajXEBauBOyFUlodqCxKbWpfUpxCd1xvL9vnm4Qj1N1Je60SrgchAM4U2O4EmPYvuG8eazHLu/Xyzr6tz9wh/XrhiCAB9Y4O45p01rNmvDmEKDzDyzKWDKLLZefT7HdhdzU+GadJr+dMZSdS7PEzqHUmM1cJ5r6zA41VntN6co7YwJ4b6sbe4BoBrRiTyn4sGAPDodzuYvSqL5DA/vr1zNOmF1dQ4XEQHWUiNOvoQrfJaJ19vyEWn1XDDqGR5iN0BSVIthBCtyONVSC+sJru8jl7RgXgVhY/WHGBlRilp3cL4ZG02Lk/T/051Wg0p4f4U2ewkh/kTHmCkuNpBZZ2LfrFBhPobCQswcv3IFPxNOiwGnQTdDkJiU+uS+hSifSuoqifU3+hbTxjUcbKBZj16nZbssjoenruNQfHBzBjfnYpaJ79lltM7OpAr3lxNrdPDc5cNYtqgGP7y6Wbm7yhsdP6R3cPYmltFjUMdx7w1t7JR9+lB8Va25FbhZ9QRHmAiu7zx7NUNybpGo55rb1ENfWKCuH18d0Z0C2u072drs3l47nZf8n7XxB7cMCqFLTmVhAeY6B8X5IvFdpeHD1cfYELvSN/kWqLrkKRaCCGOg8erUFbrQKvR4G/U8/7qLPIr6ymy2SmpdnBm32jyKuuYv72Q0pqjr4/sZ9T5loXwM+o4q180f5vam6gg86m4FHGKSWxqXVKfQrQ+j1fh5x2F7C+poV+clX6xQXy7KZ/zBsWSU1HH/pIaJvaOYnteFdnldfSMCmBk93Ccbi92t4cfthRQ63DjcHt4dsEeQv2NBPsZqLa7eez8fjzw1VZC/A28fNVQ/vXtdrbmVh2xLMOTQvji1jS0Wg3FNjuTnltGtcPNeYNimb+9wPdgenhSCJ/fmkZZrYO7PtnEb7+bXPPWcd04u180N8xeR5DZQFywheRwP+6f0ot52wvpERnAGb9LopuzYm8pczblccnQONK6h8kDbdEsSaqFEOIwh0+2UW138cPWAr5Yn8POfBsOt9plrOEp95EEHlwPMaO4Bo0GBiUEMy41gh+2FjClbxR/mdSTGqcbp9tLqJ9RxkF1chKbWpfUp+hMZq3MBOCGUSkndFyxzY7D7T3isB6Xx8vLizPIrajjH+f2JdTfCKityPmVdoYmBvtinaIo/PPb7Xy0Jtt3fMMavslhfuRX2n2zSzfQauCK0xL5ZmOuLzYeiUYDv88irBYDVouB7PI6NBoI9TNSdnAiznl/GUP3iEMtvSv2lrIio5R7Jvdke14Vd326CbvLw9e3jaTbYfvZXR7+t3APby7fj9mgZcWDE30TcglxsklSLYTocuwuD06PlyCzgfJaJ0/N24XD7cXPqOP7LQWc2TeKWoebJenFjbpqNzycVhSICDRx+fB4QvyMGHRa5m8vJD7EwrRBsYzsHoZBp8Xl8aLTaCRp7uIkNrUuqU/RESmKQm5FPSH+RgJM6qoJe4qqmfK/5QB8fdtIhiWFNHtszsHEMz7Ej7WZ5cxamcmCnUXotBo+uPF0vlyfy9n9o32TcRVW2bn3882s3l8GqKs7fHTTCF5evJevNuTiVeCGUclM7R9DQVU987YVMn9HIRqNOuv0L7uKm5ShYeKt+BALVouBHfm2Rq8nhvrhZ9Sxu7Cauyf2YEhiCCU1Dh6esw2XR0GrgdNTQlmzvxyjXsurVw9lcp9IbAeXj9JrNcxelcWAOCtjUyOOWpdujxe72+urx8M53B5eWZxB/zhro8m+hDjZJKkWQnQ6Hq9CRZ2TUD8jX23MZf52tUtbgFnPdWnJvLlsH9nldUztH8OqfaVH7a7dPcKfq05PZHKfKBJC/Siy2Vmzv4zxvSJ9T/6FOBqJTa1L6lN0JL/sLGLWqkxyK+o5UFZHtwh/vr9zNP4mPU/P381rS/cBMLF3JM9cOpBHvttBt3B//jI5FZ1WQ0Wtk7HPLEED3DmxB//30+5G52+Yodqk1/Le9aexM9/Gy4v3YrO78TfqCPYzkldZT1ywxTej9pE8cl5fbhiVwoIdhazZX87gxGDu+2IzscEW5t4+CrdXITzAiMPt5dI3VrE9z8Z9Z6Zy3chkgsx6FAXK65yNWoef/GkXby7fz+XD43n60kEoioJXUecREaIzkaRaCNEp2F0ePlpzgIo6J4t2FbO7sJpgPwOVda5jHts9wp8xPSMor3UyoXcEy9JLCLIYuGZEEr2iA09B6UVnJrGpdUl9iraweHcR+0tquXFUynH3PrK7PIz+7+ImD24vHRbPfy7qz8RnlzVKdCMDTRRXqxNuTekbxUtXDeHTtdk89v3ORsdPGxjDtIEx3PbxxibdqhsMjLfy/OWDADjrhV99E23dOzmVpDA/nl2Qjk6rITrITGpUIFednkjf2KZ/TwVV9YT4GZusFe1weyiotJMc7n/UOvB4FVZmlDKiW2ijicuE6GwkqRZCdAh2l4ec8jpyKurYVVDN8j0llNQ46BUVyIVD4vjfwj3sLqxucpyfUcdt47ozPDmUbzfn8dm6HPyNOv52Th8yS2oZmhTM5D5RTW4YhGgtEptal9SnOJU8XoXyWiej/7sYh9vL85cP4uKh8Uc9JqO4hns/30x2eR1V9S5irGaeumQgLreXWz5cj6KAUa/F6fbib9Rx0dA433jmiEATVfUunG4vw5JC2HCgotG5o4PMLHtgPCa9jpmfb+abTXlcl5bEioxSssvq6BEZwI2jU7h4SJxvCad/zt3Oh2sOEOZvZNkDE5rtNi2E+GOONzbJX58QotUpisLG7Eo8XoXkMD8iD85+nVNex60fbsDl8XLj6BTKa528sXQf1Q53k3PsL6ll3nZ1uY3wACNn9YsmzN/IpcMS2JpXyZDEEN86zWd0C2VC70i6hfvTM0paoIUQQsD87YXsKarm9vHdG60l/NGaA/zfT7t8qzUAPL9wD9MGxmLUq/ut2FvK377ZilGnJTzARM+oALbmVrEt79Ds1jeMSmbcwXHC/3fRAJ5fuIeSgy3SN4xK4b4pqVx5WiKr9pUybWAsOeV13PLBel9CbdRriQoykVNez4xx3Xwtvv938QCuOC2B01NCAY7Yrfr+s3oBcHb/aEmohWhj0lIthGg1NrsLrUbDy4v28uby/b7t3cL96RMTxJr9ZZQ1M7t2wMFZtZPD/BjdM5y4YAuvLM5gS24llw9P4J7JqUQEykyfon2R2NS6pD7FiVIUhc05lezItzGqRzgp4f4oisKOfBvhASbGPrMEp9vLfWemctekngB8vi6bB7/e1ug8Jr0Wh9vLuQNjGBwfTL3Lwzu/7vdNtnW4QJMel1edEHPhzHFYLQbfay6PlwNldUQGmQgyG5ocC2pr93ML0lm0q5gbRiVz2fAE1mWVc/nwBBmPLEQ7JN2/hRAnncPt4f9+3MUX63NJjQ5kZ34VGo0G58FlOJLC/Mgur2s0Niw1KoCz+8ewZl8ZBr2GCwbHcenQ+CZj2RRFweH2Svdt0W5JbGpdUp/ieNU63Bh0Wl5evJeXF2cAEOxn4OObR7A1t4qHvtnmWzoK1Bmo594xil0FNh74eiuKAmf3i2bVvlIGJQRzxWkJ/OWzzb7xyQ2GJAbzwFm9Kalx8OX6HH7bX87zVwxibGoEbo8ik1oK0QVI928hRIvZ7C6MOq0vobW7PPz7x53UOjxM6RvFnqIavt2Sx4GyOt9NyJacyoNHqz/fPDqFf0zrS1W9i3WZ5WSU1JAS7s+41Aj1vGcevQwajUYSaiGEEADkVdazel8ZXkXhX99up3tEADnldcChicCue3ctwX5qC3FDQp0S7k9maS3Xz1pLWa0TRYHr0pJ47Px+vvil12mJsZr538K9mA06Akw6HG4vj53fzzd86fxBsXi8irQmCyGaJS3VQohGVmaUcvP761FQSA7zp6reRYBJz97immb3Dw8w8o9z++J0e+kdE4jD7SWrtJaLDptMRYjOSGJT65L6FEdS43Bzzou/kn0wiT5ccpgf394xmoteX8n+ktpGrw2Is/LBjadz/qsryClXZ+O+ZkQi/76wPxqNJMdCiGOTlmohxFG5PV6WppeQXlRNvdNDZJAJr1fhqfm7sbvU7tuHz7ptMeg4s28Ue4trSAr148y+UYzsEUZ4gAnD75Ln05JDT+m1CCGE6Jiq7S625VaxKaeStZnl3Da+O2d0C/O9fqCslid/2k12eR1+Rp26nFXPCJbvKQFg+shkrH4G7p2cyl2fbgJgbGoEL14xGItRh9mg440/DWPm51sYmxrOQ1P7SEIthGh1klQL0QXYXR42HqhAq9VQWuOgd3QgT89PZ8HOomb3H5cawX1TUimtcWA26FifVcGEXpEMiLee4pILIYToKOwuD4VVdmKDLb5ZtBt4vQqzV2WREu7PhN6RAORW1HHRa6t8M2YDZJfX8cvMcei0GuZvL+DOTzbh9ipoNPDe9adxWnIoOq2GJ+ftIr2wmsuHJwBwzoAYXlq0l73FNVw0JJaQw8Y794u18vO9Y09BDQghuipJqoXopKrtLhbsKCLIYuDJebuadIsDMOq0nDswhiCz2r27os7F1SMSufK0hEatzyO7h5/KogshhOhgPF6Fy99czdbcKswGLe9OP42hiSEoKPgZ9cxelcXjP+zEpNey+P7xrNlXxrsrMimpdhAeYKRbRABrM8vJLK3ljWX7MOq0PLcwHbdX4fSU0CYt2A9N7dPo/XVaDbNuOI0NByo4f1Dsqb58IUQXJ0m1EB1YVb2Lp+btYmVGGX1iArlrYk+sFgOfrs3m07XZVNS5fPtaLQbC/I2YDTp2FtgAeOT8vlwzIqmtii+EEKKT+HFbAVtz1TWc7S4v32/J55/fbsftUXjrumH8d/5uABxuL2f9bzk1DnUisWA/A3PvGEV8iB8vLdrL8wv38MzP6b7zju8VwTvXDT+uOTriQ/yID/E7CVcnhBBHJ0m1EB2Qw+3h1z2l/GPudgptdkDtMrcyQ50Ztc7pASAx1I+KOichfkY+umkEiWHqzcZv+8uoqHNxVr+oNrsGIYQQnYPT7eWFX/YA0DMygL3FNczbXkhVvfpg93AW5G4AAMBKSURBVMGvt+Fwe32zdNc43PgbdVwyLJ5rRiT5EuHpI5NZtLuYshoHPSMDGNUjnGtGJMmkl0KIdk+SaiHaObfHy697S6l2uDHrtSzYWcTcTXm4Dy4FkhLuz31TUvlg9QHWZpYDMDwphBtHpzCl76Gk+fCbkhGHdaETQgghWmJVRik/biugtMbB/pJagv0MPHPZIC58daUvoYZDSy4+dE5vXluyj30lNbx01RAm9Wn8YNdqMfDtHaNO5SUIIUSrkKRaiHZEURQ0Gg0uj5fdBdXodRpeXZLBD1sLmuwbZNZz2fAE7p/SC4tRx8TekTy3YA9xwRamj0yWtTSFEEKcNFtyKrnx/XW+1SJ0Wg3/u2Iw/WODMOm1ONzeJseM6RnB+NRIqupdJIf7n+oiCyHESSNJtRBtTFEU5m0v5JXFGVTUObl8eAKzV2U1espv0GkYlhSC3eUlPMDE7RO6MyQhuNGyIH5GPf+c1rctLkGIk8/jhoyFEDsUAls4bMHjBq0OZDkdIf6Q0hoHt3yw/v/Zu+/wKKrugePfzab3XoAEEhIgEHrvTbqIKII/KwoqdgUL9oKKFbGB+lpRVOyiIkV6770lJEAK6SE92WR35/fHJRtiKAkk2SScz/Pk2ZnZKWf39WX2zL33XIpLzUQGuaNpGvcMDGNwa1XVu3Wgm2V8dZnIIHd8XR0AKlTmFkKIxkCSaiGsqLDEyHO/H+SXXYmWbe+tjAFUN7gSoxmD0cQb13fgui7NrBWmEDWrIBOWPAYt+kH3KeffLzMWSgrANwL+eRJ2fQ3OPnDr7xDUAbLjYckTkJ8Cge2h7bWw7VMIiIK+D4OjuzrP5nmw8ysw5MGkb6FZ1zr4kEI0LglZhSRkFdIrzIdHF+0hLU+Ne/5pWm9cHSr+nIwMdLck1Y52NhSXmukXLsOOhBCNlyTVQtSylBxVSMze1obFe5JYuDUef3cHOjTz5M+9p0g8XYSNDu4bFE5OUSm/70liar8wHhgSTqnJTG5RKf7ujlb+FEJcIk1TLcPFOWA0gKs/2NrDqV1w8FcoOg1Ju2Doc+B/ZoocsxlWzYINc86cRAeoGgK4+IN3mFpe/RpE/6OWT+2GXQvUcvRSaNYNWo9S696hkHGmmvC+HySpFuI8NE3jcHIeLXyd2XY8i7/3JTNzVBtyikq59qON5BYbaRXgSnRqPo52Nsy7uUulhBqgbRP1QMvfzYFRUYF8ty2esTLNlRCiEZOkWohaciQll2d/O8COk6crvReTls/GY5kANPV04u0bOtK7pXqK//K4dpZu3XobPY52+roLWojqKMiEnARY8zpkxUGHG2DA4+q9/DTYMg82vgeBHSD9KLSfAOM+BAc38G0Np0+o5Bng6N9w91po0kkl4aePq+2OnlCcrZaHPg8dJoGDq1of/Tagg/ChsGY2ZB6D8GFgyIWU/eVJdYv+MGkh6GzUvkKISowmMy/+eZBvt8TTNsid5JwiTheWkpxTTFJ2EbnFagqs6NR8bG10vHNDJyIC3M55rqvaBvDx2lhu6BbMQ0PCeWxEa9wc7ery4wghRJ3SaZqmWTuIi8nNzcXDw4OcnBzc3d2tHY4Q56RpGqm5BuIy8olNy+ft5dHkFJViowOdTofJrBHm58LtvVuQbzCSnmegmZcTN/YIOeeTfiFqhaZBbhJ4VGE4Qe4p2Pg+DJ8F+jM/iH+aDPau6r3YlRX3v+UXCL8K9v6gumUbKo6pJLAD3LUa9LaQdRw+6gkmAzh5Q1EWNOsOdy4HGxsoKYS4NSoxLshQLd2+4eePtbQIMmJUN/A6GjMt96aaJd9n3ckpLCU6LY9uzb3Q6XSYzRrTf9zD73tOnfeYJh6O3D0gjD/3JfPAkHDL+GkhhGjMqnpvkl/yQlwmo8nM+6uO8cWG4+QbjBXe6xziyfybu+LlYkepSZPkWViXyQg/3gpHl6jkc8oKsHOCPd+pVmVjCejtVdJrNEBGNJiNMOyl8nPo7WH3N+XrOhtoPVqNjW4xQG0zG8sT6g6ToOVQ8GsFQZ3KE17vULhzqUqYgzqqFu2Iq1RCDWDvDG1Gq2VXP/V3IXZOapy1EOKiZvy0l38Pp3JD12a4O9mxPzGHbSeysLXRMbF7MN9tjQdgaBt/Vh5Jo2OwJ/Nv7kITTycm9w21cvRCCFH/yC98IaogM9/AU7/ux9lej6+rAwdO5bDrZDbtm3mQVVDC8YwCQE0pEuLtTKivC1FN3Ll7YEtLIi35tKhRucmqi3PoANVirLdXhb8AErer7QBF2XByE/iEw7q3VEIN6tjopdBuvGq5Ttl/7usE9wKzqXy9x91QWqgKiI16E7xblifCZTrdDCc2qNbsMe+o7t7n0rRL+fLI16r9FQghLsxs1tCgwhSLOYWl/Hs4FYCfdiZW2H/2de2Z0LUZ/m4OGE0aM4a3IvF0EU08nWSaRiGEuAD5mS/EBRiMJopKTLyx9AjLD6VWen/nmfHSbo62vHJtFKPbB2Gnt6m0nxCX5eRmyE+FtuPKW3rXvKYKc9k5qyQXwNZJJbB+rcuT6uIc+OH/zjqZDgbNhGP/qsQcoO8j4OAB/m3AVKpamnU26jwewRW7UzfrpipoX4hOB+M/rolPLoS4RNmFJYyYu44WPi58f1cvbM4kxauOlt/L/Nwc6BTsydA2/rRr4kH7Zh4APHJVK8s+wd7OdRu4EEI0QJJUC3EeJzIKuOOr7cRnFWI+U3rgzr6h2Op1NPNyonOwFztPZuHmaMfwdgFShEXUHKMBDv8JCdvUvMpb5gMaRAyHG79T45tHvQkHf1dFuZy8wM4FchPBWASBUaqCto0NeDVXCfbx9apq9tVzIGyQSqzL6O2g591W+rBCiNrwz4EUUnMNpOYamPtvNDqdjiAPR2b/cwSAh4aEM314aytHKYRolMwm9fulRs5lVjN9mEorNi7UM5JUC3FGidHMhmPpLN5zijXR6WQXllZ4/5qOTXh+bNsK28qe6gtRJYVZ6ibj+J//bnKTVYuyfxu1nhUHv5xj/uaY5XB8rSoGZucEj+yDYyshbDA4e0PaITV3c9igil2yb/9TFfKyday3NyMhRM3650CKZfn9VccqvT+8XWBdhiOEqG+Kc1XtlIB26jfF5cpNhsIM1Ytu51eg00O7a2H0W5WHgZ3YAKtnQ7c7ILhHeX0VG736rbTyJUjeC+5NIfWAmi0E1PCyEa+qxgQAQz7Yu6jpOde9VT6ULXwo9Hv08j9TNUhSLa54aXnFvPdvDH/vT66USHcJ8eShoREcTs7j5l4hVopQNDiZsZCTqOZddvErT2QP/gb/vggtB6vK1j7hqhp38l5wdIdbf4MmnVXla79INUY6JwGa9wF0sPXj8i7boG4q7SeUrwe0U3/nUhM3TCFEvZeQVcjivadYF50OgJuDLXkGI91beOFgq6ewxEiXEC/aNZEK60I0WJpW8SH5f9erInkvfH01uDUB9yDIS4FWI9XUmO5B5futn6Me/HefCu5NVOJ7cpMqcjr4abUNYOt8VXT0bHu/V73uxs5VvebMJvjrEdUbr+g0nNyg9rOxg2fOPAjU28ORJVCQBqd2q20O7lCSD3sWqllBIseq7b9MVbGUFoL5rN/wzj7V+y5qgCTV4opzuqCEl/48yJGUPMyaRnJOMXln5t/0c3NgTPsgru4QRJifK17Oduh0OgbJ1CHiv0qLwZBXsSq1psHyZ2Hzh2rdzhm8WsBti9V+YYNU0nvoD/V+0s7yYz1DwObMP8nNusL9Wypfs+9DtfFJhBCNQNkMqfd8s5NDybkAtAl046ObuxCXXsDQNv6WcdVCiHrAbFZJY5POqndZYZZKGkuLVTdnF19I3qMeoJfNnqFpsG8RLH1K/aZoew3s/xliV6vEtcNElaye2AgBbeHoP5B+RB3n3xairge3AHV9j2agd4C8U+oPYMfn6m/qKvVbxGiAzR+pFuiNc8HRE0J6qUKnoGb+KEuq7VxUQ4KLv5o1RG8Pv92jpswsS3K3zFct2aD2K0hTNVyadFYzjwA4uKrPUlKgvhOv5qpx4dRu2P4ZtB5T/h2m7CufbcS/LfS+X30m34ha+B/swmSeanFF0DSNT9fF8c+BFNLzDCRlF1V4P6qpOzNHRtK7pY9UOBXnpmnqCaveVk099b/BqkvS0Beg/3S1z8pZsP5ttewRrFqZQT31HfKsOn7rJ6o6d+dboDBT3XSadFLJt2hQ5N5Us+T7vHSnsou4bt4mQryd2XYiCwBfVwdevKYtV3doYuXohBCAmo1DM6vhWpqmWlkP/AwdboTrPoG1b8LqV9W+di6q3klxtlrv+H9w7Xz1G2Lpk5XP7eQFD+0BJ0/Vqvxmy4ott2d7LAZczzQWlRarJN1sVA/3lz4FmTEQEAVTV4Ktg0rM176hulZrZbOB6FRX7KHPlyfp5/vMmz5Q3cwnfKmu88d9kLQLblqkGhMcPcHlEluWS4vVkDl7F/W767+zkdQAmadaCFT10+f/OEhsej4HT+Vatgd5OPLyuCic7fXY6HR0b+GFrVTtFhcStxoW3Qo3fKX+AU89oLbHrFBJ9ZaPyxPq0W+rblJH/lJVuzvcqLbb6KH3fVYJXwjReK2PSSclt5iU3GIA7uofyjNj2l7kKCGExcnNqrXWvy34tVGtwin7VWupVyiseF4Nt4oYphLi2JUqkW3aVR0fv0V1k3YPgg6T1APzNbPVA/R249U++xbBP0+Ak7dKrDPP1DrY94Nq8R34hNq++1vVKluKGlOcl6KGlRnyYPc36ph24yE/XbUChw5UsTl5qvccPaDNGDj0uxpK1u5aFfOxFaqH3B8PwM0/qn3tHKHr7eXfQ9OusPo19WrnqLa1Ga3+TEY4+Kvqbdd9CrQccvHv1ckThj5Xvq63hQlfXFp39XOxc1Qt8vWAtFSLRkvTNB74bjd/71djUG1tdDw6rBX+bg4MbuOPr6uDlSMU9db+n9XNtNWIM+OZgewEmBulxv3o7dT4nRGvqfFHPi0h6zgsuAa63yXdtK8Qcm+qWfJ9XrrZ/xzmk7VxADjb61n92CAC3B2tHJUQ9YDJCH9PV8U6O9+sWjO9wyomdAd+gZ+nAGdSooAo1TU6eqnaf8KX8ONtKum+byvs/FLVOGnSBe5erY5J2Q8f91PLOr2qk1Kkpl3l0UPg0RSWPg1bPqoYX8sh0PlWiLquYsxb56viol3vgBPrIKS3qo1iyFetvk06XzwpLSlQw9DK9tM01Z3cs7lK3kWVSEu1uCIl5xSxNyGb2PQC9iZks/xQKrY2Ol4eF0WvMG/C/FytHaKwJrNJjd3R6SDlgHoaXTaG5+/H1JPniBHqZommxhFN26CqcrsFQpurVeuzuVQ9ze5xT/nx3qEwbaO6kQohRB06nl4AwNR+odzau7kk1KJ21OQ0SdWlaaq4lW+EKgJaFo+pBA4thpx4df9e/ixc9UJ5C/KGObDra7W8/0zrbPN+akhW895q/cRGQAPfVnD6pOqJVtYbbdyH0LSLusfnnVIPz/PPzPXu3kR1tXb0gMD2aqrL4+vU74SyhHrUWyqhBhj5mmqNzk2C3FOqa3XogMqfVW8LfR4sXz+7RdjBVcVTFfYuFdd1OpWMi1ohSbVoFH7YFs+7/0aTmmuo9N6jw1pxU0+p3N3oXawrUUYMfDFCFfsY/zF8NVp1q7r5Z3XDO7pE3ei2zlf7e4RASZ56IuzfRrVOT/pWdZ0qLYTADuUJdRlJqIUQdaC41MQ93+ykpZ8rz49tS1yGSqoHtPKjuY/LRY4W4hLs+xH+ngGdboJRb1T9uKLs8m7JZTJi1Phd2yr0GMyIUV2rTx+H9e+oscZTlqtW2w+7q33KxvmuekW9nj6pkmpTKaQdVtvCBqsu1HnJquL0tk/Lk+ox76heae3GqyT52L8q6Q3ppf4AbvgaPhsK2SfVetc7VDGts/W8B7pNUdWtT25Svxn+2zXZyVP9nW+mDtFgSVItGqyy8dI2Ovhj7yk0DfQ2OloFuBEZ6EZLf1d6hfnQtbmXtUMVtc1ogM+uUk+Lr/9MVZmMXQ1ZsZC4Q/0A+O0eVRgsdiV8MlDdOD1DVAs0QI+71DyJmz9U26dtqDyftE4HzbrV/ecTQoizbD+RxdrodNbFpHP/4JaczFRJdaivJNSihix7Rt3v2oxVY37/uF9t3/qxainuOrni/pqmKjWfXXAq9RDM7wM9p8HwVyD6H9WqHLNMJb2TvlWtqft+BNcAdY8tLYZWw9Xx+enw5WhVIbr8QuAZDH89Wp5Me4aoXminT6iu20Ed1Xa9nbrvt58I132qzp92WBUVPXveZJ2ufHpKZ29VQfu/XP3gvi1q/uWcBBj8zLm/N72tat2uqTHDosGQpFo0WHP/jWHx3lOW9Zt7hvDMmEic7eU/60bPkAcb5qqW4T4PqafdQ56Dn26Hj3qqaSjKCoCAGvM89AXVbQtUFy57Nxj7XnlXtn6PqtfOt6pKlv9NqIUQwso0TaPUpLEnPvvMOvyyK5FSk4a9rQ1NPGU+elEDUg+WTw3Z8SbY+51a9m8HaQdV6/N/lU0n6RqopoR08lJdpr1DVQ+wfT+Ud4kG9WBbM6v/iNfMVgVAzzb8FTi6VCXUegcwGaDL7apVWW8H13wAzXqo7uBhg8FYBCc2QPO+qot0mQlfqMJgZQmufyT833eX9r3YO1e92Kgk1FccyT5Eg5GZb+Ceb3biYGfD8LaBLNyquuA09XRiVFQgM0e1kQrejV3STtj4HiRsU124ANyC1FNl33BVfCP9sJqCwtFTJczeLVXCbOcEL2Srp+8Z0ar12qdl5Wv4t6nDDySEEFWjaRpP/LyPP/acwt2p/Ofbwq3xAIT6uMiUkOLS/Xi7ar0d/DT8+6La1qRLeUIdeQ1c/7maDunspDXmX4hZDtv/p9bzU1RvsGkb1IPvrpNV5eyi0yq57XyLSnxbDlYPxI0lalzxf5Pq5c+qgl96B1UMzMVftRaXsXeBXtMqrrcaUflzufhe7jcjRJVI9W9R7yVkFbI2Op3Fe0+x7XhWhfcGtPJjwZ09rBSZqFPJe+GLUVCqujli7wol+aqy5VOJKoE2GdVYqaw49QNAbqaiFsm9qWbJ93l+sen5/LQjkY/Xxp53n5HtAvn41q51GJWoV6KXq+FNfR9R0zppmhqLXDZuGFRhr+2fwa4F6mFzWZdngDVvwJrX1FRQphL1eu8mVRws7TBc/W7FZBogPVp17y6bDzmwg0qe209QvcN0OhXH0X/A1h5aDFCv55K8T7VuL7pFVai+6kUIG6Rm3AiMqrnvSYhqkurfolHYdjyLqV9vJ7fYCKipQiZ2C+ZYWj4eTnY8MbK1lSMUNcZoUC3RTTqrVuW0w6pAScRwNQ+hi5/q3hU6EHo/ACE94dsJkLhNdVULOlM4LGyQ+hNCiAauxGjm7eVH+XRd3EX3bekv46mvWAUZ8NNk9dB5/89q/HDRafhliiq+NeFLldz+dLtKkkG9l30S+s9Q6xHDIHYVJGxR630fVl2r+08//3X9WqliXcueVgn7hC/UMWfT6dQcxxcT1EG93vobxKxQU0zp7arzLQhhVdJSLeqVlYdT+WF7Ahn5BiL8XfltdxKlJo1wf1d8XOyZNrAlg9v4WztMUdM0Tc0BeXixGuts56TGUen08ExyeYXQHV9Cx/9TSTaobmN5p8CrhdVCF1cuuTfVLPk+K1ofk86Liw8Se2a6rO4tvBgZFcSsvw5Z9rkqMoBVR1IZ0safWddGEeQhY6obtFN7wNVfTdX0X8W5sPtbaHsN2NhC3Fo11VJZl+iDv6ukGYCyYQAaDHoaBjwO77ZVw6b0DurhdcIWVdTzvi3qmnCmVXmJeqDd696qVecGNXdyaVHF7tlCNBLSUi0anJWHU7lrwQ7MZx7z7D5TiGV0+0DmTOyEo52V5kYUNa8wS3XzKivkse1TlVCDmsaqJE91+YoYVvGm3u2OiuextZeEWgjRqBSXmpjx417+3q/qRvi42PPq+PaMjFIzFUT4u3LnV9uZOaoNd/QNpcRoxsle7o8NXtZxNYuFkxfcs0514T7bhnfVnMtrZqt1Qy4MfxX6PKDW210LrVJUq/GOL9S2tuNUi3PcqvI6JGPfU/uumQ3eYaoXWBmdDtqMqX7sDq6Vu4YLcYWRpFpYVYHByLG0fAAe+G43Zg3GdmxC/whfVh9Jo0+4L7f0DEEnVRQbj8xYWDAOJn6tptQAVQUUoP9jEHk1oFM3e5n3WQhxBTGbNab/uIcl+1PQ2+i4vXcLHr4qAg+n8m6wA1r5cWTWSEthTkmoGwnvUPUg+egS1XPr5h/BwQO2fAS2jrD/J7WfIVe9+kUC/+lsauekxj53ukXNhVxWjDP8Khj/iepOHXW92jbs5br4VEJcMSSpFlYTk5rHXQt2cCKz0FLLYkArP+ZM7Iid3oaJ3YKtHaKoKXu+h3VvQUmBqgwKaq7KsqTa3gW63AYDn6h6dzMhRK2aN28eb731FsnJybRr1465c+fSv3//8+6/cOFC3nzzTWJiYvDw8GDkyJG8/fbb+Pj4nPcYUdG3W0+yZH8KdnodX9/Rgz7h5y62KDNdNHBF2SrpLRuBWdZwMPwVOLFR1QqZ1wcC2kHCVug+Rc2NDNBqlNo+aOb5xxw3O0fBuo431vSnEEKcRZJqYRX7E3O46bMt5J0pQKZp0DbInXk3d8FOfiw0Hls/UUVTErdT4Yl6cE/ofX/5+tnLQgirW7RoEY888gjz5s2jb9++fPLJJ4waNYpDhw4REhJSaf8NGzZw22238e677zJ27FiSkpKYNm0aU6dO5bfffrPCJ2h4iktNfLT6GABPjYo8b0It6rn4rfD3dNUi3PFGNQWkfyT4nSmsuuNLNWXV4Kdh++dq2/WfqUJdPi3h9j/g5ymQFatqhgAEdVIFvLKOqwRbCFHvSKEyUadiUvOYvyaWFYdSyTMY6drcizkTO3IgKZd+Eb4VuriJek7T1DySiTtUtc/Df0L4UNX1zNFD7ZN1HN7vDGjQ9Q7oejt4hICLtFyJhq8x35t69uxJly5dmD9/vmVbZGQk1157LbNnz660/9tvv838+fOJjS2f8umDDz7gzTffJCEhoUrXbMzfZ1V8s+Ukz/1+gEB3R9Y+MQgHW+nW3SCYzbDjc2g9WhUY++pqNbUjgKMnFGer5Ws/hg4T1fCnE+srn6fvIzDsJbVccqaKd9xqVb277bg6+CBCiHOp6r1JmgRFnVl1JJVrP9rIr7uTyDMY6RLiyVd3dKe5jwtjOgRJQt3QHPwNNn+oKoju/kb9cDjwC3zQDZJ2qX1cA2D0WzDqTRgzR1UclYRaiHqtpKSEnTt3Mnz48Arbhw8fzqZNm855TJ8+fUhMTGTJkiVomkZqaio///wzY8ZcQtGjK0ipyczby46yJS6T77fGA3DPwDBJqBuSDe+oYptugaob940Ly98rzga7M1OdJW4DGz3ctAgGzgQnb2hzNdieqdjudlZhMnsX9RD6hq8koRaigZDu36JWHEvLp7jUhKuDLR+vjaVVgBtvLD2CwWimd5gPDw4Jp0eot4wLa8hCeqsn8za2alqOJp1h/Ttq3sv9P4FfG7B3hh53WTtSIUQ1ZGRkYDKZCAgIqLA9ICCAlJSUcx7Tp08fFi5cyKRJkyguLsZoNHLNNdfwwQcfnPc6BoMBg8FgWc/Nza2ZD9CALNmfzIerj/HNlpPkFJWi08E1Hc8xnZKwvtMnYfWr4OwLzfuAg5sqKrbtU/BuCSc3QugANVb6mVT4darq0XXNB6CZweVMd357Fxj8lBoTrdOpabROrIfuU6356YQQl0mSalHjcotLGT9vI3nFRlzs9RSUmCzvDWzlx2e3d5Nx0w3Ftv/BiudVl7bCTDUX5fiPof0ENd3Hjd+pHws2Z1pVOt4Ie7+HrDi1XQjRYP131gVN0847E8OhQ4d46KGHeP755xkxYgTJyck8/vjjTJs2jc8///ycx8yePZuXXnqpxuNuSLbEZQGQU1QKQNcQL3xcpVhjvZCTpOaF7jBRVeb2CFbb9i1SFbnPFtJLJdRl7Bxh0rcXPn/Z/5eadFJ/QogGTZJqUeOW7k+xFCArKDHRzMuJ5Jximng6MndSJ0moG4rTJ9SYaWMxZB4r3774IdVNrUVf9aNAd1Y3RVsH6Dq5riMVQtQgX19f9Hp9pVbptLS0Sq3XZWbPnk3fvn15/PHHAejQoQMuLi7079+fV155haCgoErHPPXUU0yfPt2ynpubS3DwlTXrw9bjmRXWh0ae+/sVl8FoUK3BwT3KE9ky+ekqAXZwA1OpanVOONNN+8RGNVvF3u/UvNGOHjByNuxaAMdWgMkILfpB1HUQPswqH00IUX9IUi1q3O97kgDVKt21uRe392lBqcmMo50eVwf5T65eKciAzR9Bq5EQ0hOMJWq7rT1EL1cJdfN+MOAxcPZWRclOH4fA9taNWwhRa+zt7enatSsrVqxg/Pjxlu0rVqxg3Lhzj+8sLCzE1rbiv+96vXrgdr56qA4ODjg4XLmtsul5BuLSCypsuyrS30rRNGL/PAk7v4Q+D8HwWRC3Bo6vUwXAvhip9vm/7yFpp6rK/V85Seq9lkNUhe4xb9dl9EKIBkIyHFEjcopK+XzDcX7ekcCpnGIAXh0fRTMvZytHJs4r4xgsnKCS5G3/g1FvqARbM8PY9yBmmapcevWc8qlAgjpaNWQhRN2YPn06t956K926daN37958+umnxMfHM23aNEC1MiclJbFgwQIAxo4dy1133cX8+fMt3b8feeQRevToQZMmMkb4XLYdV12/2wS6cXufFhSXmogIcLNyVI1MdoJKqAG2zINBT6lxzls+VtNZleSr94I6QdOuav7owgzwiVDbm3SG729UhTlbDrHGJxBCNBCSVIvLFpeez21fbCPxdJFlW/8IX0mo6zu9HRSkq+WSPPjjPrVs7wZFp+GmH9UPjrLpsYQQV4xJkyaRmZnJyy+/THJyMlFRUSxZsoTmzZsDkJycTHx8vGX/yZMnk5eXx4cffsiMGTPw9PRkyJAhvPHGG9b6CPXeysOpAPQM9eb/elSe+1tUQ2GWeghsc9bwsvitsP6sVuWZ8ap4ptEApQVQemb7mDngeGaanGHnGOP/6EGwdaytyIUQjYTMUy0uS0xqHjd+uoXMghJCvJ2ZPqwVfm4OtG/mgbujTJFVbxRkqAJiiTtU1e5eqrWJY/+CkxcsnAiGPFWpu990mfZKiCqQe1PNupK+z4SsQga9vQaTWeP3+/vSKdjT2iE1XAnb4YsRqmv2jd+rIpqxq+Cb8qEL3HpWS7OmqW7fCVvAtzXcv7XyWGshhDijqvcmaakWlywhq5CbP9tKZkEJbYPcWTClB75StbR+KSmEw3/CsqdU9W4AU0l5Uh1+lXp9cKd6dfKs8xCFEOJK88m6WExmjf4RvpJQV5fRoIpigiqo+dejoJng1G5YNQuunQerX1Pvhw6EzrdW7Lqt06lhTUueUPVCJKEWQtQASapFtZUYzaTnG7hrwQ7S8gy0DnBj4dSeeLnYWzs0cbbj6+CHW8CQo9b920LkNRWn/SgjybQQQtSZfw+lAXBX/zArR9LAnNwEP90Bw19R962FEyq/byxRw5fWva3mgnY8R8tSQDu44+86CVkIcWWQpFpUWVJ2Ea8tOcyaI2mWuaf93Bz4+s4eklBbm6apgmPeZ36gGfJg0ZmE2iMEOt8M/R4tf7ovhBDCKkpNZlLzVEHPyKDG3c29RpUUwh/3q2muTqyH/jPK3wvuBZP/Bp2NGldt6w0jX7NerEKIK44k1aJK/j2UymM/7yW7UFX20OmgmZcT793YmUAPKeBR5zRNtUQf+EUVFctLVl3fnk1T82sW54AhX7VK3/STmodTCCGE1aXkFKNpYG9rg488kL644lz46XY4vh7MpeDWBIa9rFqq/+8H1SI9+i3Qy09aIYT1yL9A4qLeXRHNeytjAOjQzIOXx0XRoakHNjYyDqnOndoNe76DExsg7VDF92zs1LhpV3/Q6eGaD6DdtZJQi0avsLSQQmMhvk6+1g5FiItKPjPtZJCHo9xHz6Zpqvt20y5g56S2peyHbyeo1mlQ97ZxH5QPWWo9Sv0JIYSVSVItLui7rfGWhPqOvi2YOaoNDrZ6K0d1Bdv+Oez+Ri3bu0LU9eDXRs0t3f4GlVCDqn7a+WbrxSlELduTtoevD35N98DufLz3YwwmA9+O/pZwz3B+P/Y7+zP242LnwqDgQZg1M6WmUpztnGnh3gJPR09rhy+uQJqmsS8xh+MZam7kJh5OVo6onlkzG9a+AV1uUw+FQT1Azk9RU1r93w8Q2B5c5OGZEKL+kaRaVPL3vmQWbD6BBmw7ngXA9GGteGhohHUDuxKZSmHje9BqJARGwbgPoXkfMJsgcqwUGBONzid7P2HjqY3MGTQHXydffo35laXHl2LWzPRv1p8tyVsoNZeyL30fRcYi/o3/13LsMxueoUdgD74+9LVl21cHv6p0jeldp3NH1B118XGEsPhzXzIPfb/bsh7kKb2ILFIOwIZ31fLeH2DoCyp59gmHzrdAu/HQcrB1YxRCiAuQpFpUkF1YwlO/7iO32AiAjQ4m9wnlwSHhVo7sCpSfDotuhoStcOQvmLpSjZfudJO1IxOi2jKKMvj20LfEZsfSzrcdE1tPZNOpTSTkJdA9oDu2NrZoaHy05yM0ND7c/SG9m/TmhU0vWM6xNWVrhXOGeYRxIvcE4Z7hpBSkcDjrMIezDgMwqfUkcg25bE3Zipu9G062TmQbskkpSKGpa9M6/exCAKyLTq+wLi3VZ9n2qZruEdTrwgkwdRVEDFN/QghRz11SUj1v3jzeeustkpOTadeuHXPnzqV///7n3X/hwoW8+eabxMTE4OHhwciRI3n77bfx8fG55MBF7fho9TFyi41E+LtyW+/m9An3paWfq7XDuvKkHoLvJ0F2PDh6QM97VVVTIeohg8mArU7dTo5lH8Pf2R8vRy80TaPYVMzRrKPc9+995JXmAbAmcQ1fH/ya/NL8857zl5hf+CXmFwCuj7ieYLdg1iSsoa1PW5q6NiW/NJ87o+6k0FiIm70be9P28uGeD0nOT+b/2vwfk6Mmn/O8RcYibOT/S8IK9ifmVFhv4ilJtUXU9ZC0C9peA6tfVfVDsk+Uz2ghhBD1XLWT6kWLFvHII48wb948+vbtyyeffMKoUaM4dOgQISEhlfbfsGEDt912G++++y5jx44lKSmJadOmMXXqVH777bca+RDi8mmaxtx/Y/jf+uMAPD0mksGt/a0c1RXm4G+w+CE17VXRaTAb1Q+Km34EX+l6L6wvrySP+Nx44vPi8XL0oldQL+Jz45m8dDI6dDR1a8ruNNW9NcIrAqPZyPGc45bj23i3YUzoGH499qtle4/AHiTkJWAwGcgqzsLexp4Ofh3YkboDgJ6BPXm217PY2tgypf2USjE52qoutN0Cu/HVyK8u+hmcbCWREXWvsMRITFpehW1XXPdvs1lNdwWQvA/it0DPu9V66AC4d4OaYzovBXxbSUIthGhQqp1Uz5kzhylTpjB16lQA5s6dy7Jly5g/fz6zZ8+utP+WLVto0aIFDz30EAChoaHcc889vPnmm5cZuqhJ766I5v1VxwC4s28og1r5WTmiK0BJAexeCN2nqG7dEcNVa3TBmS6CLfrDxAXg7G3dOEWjZ9bMRJ+OJsIzAr2NnvTCdLanbGdo86E46NXc5j9H/8yrW1/FaDZajru3470sPbGU9CL132xaURq2NrYYzUZiTsdUuEbfpn15d9C7ONk6cUPrG1hwcAFtfdoyMHggAEazkXWJ6/B39ifYLZhfY36ljXcbugeqruFCNGQHT+Vi1ipuu6K6fx/+E36aDD4RqrL3qV1qu6MHdJyk5ukEsLWHq+dYLUwhhLhU1fqlUlJSws6dO5k5c2aF7cOHD2fTpk3nPKZPnz4888wzLFmyhFGjRpGWlsbPP//MmDFjznsdg8GAwWCwrOfm5lYnTFFNC7eetCTUs8a149beLawb0JXg9En461GIXQkJW2DCF2DvAvesA0MeOLiBZ0j5Dw0hakmpqZTH1z3OyviV9A7qzZT2U3hq/VOkF6XT81hP7GzsKDIWsTdtL0bNiI+jDz5OPkSfjmb+3vkA+Dv7M7z5cI5lH+PJ7k/i5ejFztSdmDUz3QO7YzQbCXAJsFzTxc6FezvdWyEOWxtbhoQMsaxLITHRmOz7T9dvgCZXSkt1fjr8cb/qfZV++MxGHURdB2EDrRqaEELUlGol1RkZGZhMJgICAipsDwgIICUl5ZzH9OnTh4ULFzJp0iSKi4sxGo1cc801fPDBB+e9zuzZs3nppZeqE5qoJk3T+HhtHJvjMi3FU6YNbCkJdW07sRFWvqwSaVBzS3edXP6+V3OrhCUapxM5J9ibvpfRoaNJKUxh/p75ZBuyuSPqDpq6NmVfxj4WHFzA/oz9AGxO3szm5M2W47cmVywMNqrFKN4Y8AYAc3fN5YcjPzAweCD3dbyPFh4tKuw7vMXw2v1wQjQgm2MzAbgqMoB/D6cC4OZoZ82Qak7aYfjjAehxF3S8Uc1akRUHfq3V+6d2QXEO+EXCwMcBHTTrph4cCyFEI3FJfep0/2k90zSt0rYyhw4d4qGHHuL5559nxIgRJCcn8/jjjzNt2jQ+//zzcx7z1FNPMX36dMt6bm4uwcHBlxKqOI/1MRm8sfSIZf3BIeFMH9bKihFdAda/oxLqMqEDYdQb4B9pvZhEg5VSkMKRrCMMaDbgnIW38kvyuWPZHWQUZfDVwa84kXvC0nV7fdL6Cvs62Tpxb8d7+fHoj+SX5tMzqCfDmg/jnR3v0CWgC2282nDacJp7Otxj+bf+0a6P8mjXR2v/gwrRAMWm5/PevzHkFpfi7WLPv4dT0engkasiGNsxiED3RtRKvWU+JO2A33aonlZH/gZnH5hw5jeeoyfYu8G4j6BZV6uGKoQQtaVaSbWvry96vb5Sq3RaWlql1usys2fPpm/fvjz++OMAdOjQARcXF/r3788rr7xCUFBQpWMcHBxwcHCoTmiimr7adAKAEe0CuGdgS7qEeFk3oMampAD2fg+ZcTB8lpoWa9c36r0ut8OgmeDexLoxigbFZDaRkJdAc/fmxOfFc9s/t5FVnEX3wO446h0pMZXg5+yHi50LW5O3otPpyCjKAFRFboDeQb0JcAlg5cmVFBoLCfUIZUCzAdwSeQt+zn5MbjcZKH9wOqLFCKt8ViEauv+ti2Px3lMVtt03qCVRTT2IauphpahqgaZB3Ory9SWPqddmPVSLtd4OmnWHmSdV7RAhhGikqpVU29vb07VrV1asWMH48eMt21esWMG4cePOeUxhYSG2thUvo9erf1g1TTvXIaKWHTyVw+qjaQA8ObINYTJlVs05fRIO/Q6bPoQC9R3j5AWd/g+cPKHdo3DVi1YMUDRUL295mV9jfqVv077EnI4hqzgLgO0p2y943JPdn+R4znGGhAyhb9O+AMzqO+uc+56vx5EQonpi0tR0cb3CvPF0ssfdyZZHrmqkvcEmfgMxK8BkgC0fg7EIBjyuEmoor/gthBCNWLW7f0+fPp1bb72Vbt260bt3bz799FPi4+OZNm0aoLpuJyUlsWDBAgDGjh3LXXfdxfz58y3dvx955BF69OhBkybSUldXDEYTby09ypbjmUSn5KNpMLi1nyTUNcVshg1z1Pyamllt82wOPe+BrndAxlHocQ90mGTdOEW9lZyfzLITy3CxdyHcM5wIzwgMJgNPb3gaH0cf/or7C4CNSRsBaOHegmd6PcO6xHUEuQTh7ehNfF48aYVpdA/ozp70PTR1bcotbW+x5scS4oqjaRrHziTVz1/djrZN3K0cUS3S6aBJJ/UH0OdBMOSDR1NrRiWEEHWu2kn1pEmTyMzM5OWXXyY5OZmoqCiWLFlC8+aqwFJycjLx8fGW/SdPnkxeXh4ffvghM2bMwNPTkyFDhvDGG2/U3KcQF1RcauKuBTtYH5Nh2TawlR9vXN/BilE1IoY8+P7/4MSZcaohfaDDROh0s5oeBKBJZ/UnxFk0TWP5yeX8FvMbW5K3YNJMlvcc9Y6EuIcQfTrasq1bQDfs9fZ08u/E5HaTcbJ1oldQr3Oee3TY6FqPXwhRWVZBCTlFpeh0EOrrYu1waoemQX6a6tLt4lu+3dFD/QkhxBVGpzWAPti5ubl4eHiQk5ODu3sjfuJbS95ceoR5a2Jxttfz0jXtiAxyp10Td+nqWVM0Db69Hk5uUoXHut5u7YhEPVFqLgUN7PTlVX7jc+M5kXuCjn4deXzt4xWqbXcL6IaDrQMxp2NIK1TDBxz0Dtjr7TGZTSy6elGlKtvCeuTeVLMay/e57XgWEz/ZTDMvJzY8OeTiBzQ0GTHwxUgozAD/dnD7n+DiY+2ohBCiVlT13nRJ1b9Fw3E4OZdP18UB8O6kToxoF2jliBqwnERY8bxabt4X2k9QT+R1Ohj7npqD0zvUujGKeqOgtIA7lt5BfF48k9tNJrMok/i8eLYkb8GsmXG1cyW/NB8HvQO3tb2NsS3HEuqh/vsxa2a+OvgV3x/5noc6P8Tg4MEUGgvxd/a38qcSQlxMbLrq+t2yIQ+vStyhCo017135vXVvqYQa1Pjp4mxJqoUQVzxJqhsxTdN46c+DGM0aI9oFSEJ9OdIOw+cjwJCj1g/8Aju+hKkrwM4JPGXKtytZXkkez254FlsbW4a3GM7yE8tJKUjhcNZhAD7a81GF/W1tbMkvzcfLwYvPRnxGK6+KBYxsdDbcGXUnd0bdadnmat+Af6ALcQUpG0/dYJPqwiz4agwYDTBlOQT3UNszY1XtkP0/q/XJf0NIb6nqLYQQSFLdqP17OI0tcVnY29rw/Nh21g6n4dI0+HuGSqgDO6gfHLmJ0Ga0SqjFFcmsmTmcdZg9aXtYcnwJ+9L3AbD85HLLPrY6W25teyuHsg4R4RlBS8+WtPdtj16n54/YPxgfMZ4wjzBrfQQhRC2wtFT7N9Dx1Ad+AWOxWv7mOogaD92nqgfLxiK1PWwQtOhntRCFEKK+kaS6kfp+Wzyv/a1ayab0C6WppyR/l+zUbji5EWyd4MaFqst35jFo0sXakYk6YNbMvLHtDXJKchgdOhoHvQMJeQl8ffBrTuSesOznZueGj5MPJ3JPcH3E9TjZOtEjsAeDQwaf87wzus2oo08ghKgr62PS2RSbCUCrADcrR3OJ9v1YvlySB7sWQEkh9HsUDv4G9s4w7GXrxSeEEPWQJNWN0PqYdJ76dT8AnUM8uW9QSytH1MBoGiRshZAzVZWbdIYW/aHlYPAMUduadrVefKJObUzayHdHvgPg77i/K7znZOtE98DuhLiFcF3EdbTwaMHp4tMy9lmIK1BOUSn3fLOTEqOZqyL96RriZe2Qqs9kBL/WkBkD130G8ZvV8Ka214KTJwx60toRCiFEvSRJdSNjNJmZ9dchAG7sHsyr49ujt5Eq39Wy4V1YNQum/AvNuqpCZDd8Dc7e1o5M1JDC0kJ2pu6kg18HPBzKp385XXyav+P+ZlfaLhLyErCzsWN/xn7L+6Eeodhgg7eTNz0De3Jz5M2VxjpLQi3ElelYWh6FJSb83Rz46OYu2DTEe6/eFsZ9CFe/C3o7iLjK2hEJIUSDIEl1I7LpWAbP/nGAuPQCPJ3tmDmqjSTUF5N6EH6/FzrdAqn7oaQAjvwNmhmS96ikGqSyaSNi1sw8tPohtiZvxVZny7UR1zKw2UCWnVjGshPL1DRY57DkuiUEu0lBOiHEuaXkGAAI9nbGwbaBFe9a9gxEDIewgWr9rGkAhRBCXJwk1Y3EsbQ87lqwg4ISE24Otrx+XXs8ne2tHVb9598WoibAP49X3B46ELrdee5jRINi1swYzUbs9er/DwsOLmBr8lZ06DBqRn6O/pmfo3+27N/Wpy0jWowg3DOcVfGr+CXmF0aHjpaEWghxQck5qohXoIejlSOppvw02DIPtsyHRw+Ce5C1IxJCiAZHkupGoMRoZtq3uygoMdEz1JvPJ3fH1UH+pz2nrOPqiXxwd+j7iGqRRgO9AwS0A/9Itc/Y91S3b9Fg5ZXk8db2t1gZv5JScykfX/Ux8XnxzNk5B4Dnez9PC/cWvLvzXU4bTtMrqBfXRVxHlG+U5RwDmg1gavupBLgEWOtjCCEaiNRcVTE70L0BJNUlBaqnVlBHVXxMM6vim5JQC3HFKzWVYmtjS0x2DOsS1zEhYgKejp61ci2DycBjax/jdPFp5gya06CH0Enm1Qgs3HqSY2n5+Lra89HNXSShvpDlz8LRv9Vf51vBxRf6Pgw97gFbB0mkG6is4ixSC1I5mHmQ2OxYUgtT2Z+xn5SCFMs+96+8n/xSNdXNpNaTuD7ienQ6HQvHLLzguZu5NavV2IUQjUNKrur+HdQQWqr/fBj2/wQO7mDIVds6TLRuTEIIC7Nm5q+4v0jMS2Rq+6nY6+1JK0yjoLSAUI/QSvsn5CZw5/I76R7QnVf7vYruzO/ZdYnryCzKRG+jZ3fabrKLswl2C6ZbYDdaebUi0CWQg5kHcbJ1IswjjOM5x7l5yc14OXiRXpROkbGIX2N+5cOhH1qmAC0xlVh6//1XVnEWyfnJtPNtR6m5lJnrZhKbHUu3wG70DOqJrc4WM2Yc9Y7obfT8Gv0raxLWAHDLklvwcfThxjY3Mi58nOWciXmJADR1bWr5XOdzNOso/xz/h6uaX1WhkaQuSPbVwOUUlvLeyhgApg9rja+rg5UjqsdS9sORv9Ry5FjISVRJNYBdA/gRJM7pz9g/eXrD0+d8L8gliOd6Pccb29/gZO5JACa3m8z0rtMv+g+zEEJUR8qZ7t8BDaGl+up3IW4NFKSrdZ0NtLvOqiEJUZ8UlhayOXkzjnpH+jTpU+E3g6ZpHMo6xC/Rv9DKqxUTW08kpSCFLw58wdCQofRu0ttyju0p2/kz7k/sbOx4qc9L50xGE/IS8HH0IS4njj+O/cH4iPG8se0NdqXtAsDN3g1nW2fe2P4GRcYixoSNYWKriRzKPERuSS4h7iH8cewPUgpS+DPuT6J8oxgTNoYtyVt4bO1j5/x8Xx78Eh06RoeNZkncElztXPnn+n/4ZN8n5JXkkVeSB4CtjS0JeQnc8vctvNrvVfZn7OfLA19yfavr6d2kN2sT1nIy9yQPdH6ASO9IbllyCwl5Cbw/+H12pO5g+cnlAMTmxLLo6KJzxmKjs8HTwZPkgmSSC5J5buNzmDUzvYJ6MXfXXJYcXwKopHp8+Hj2pO8h0CWQ0aGj6R7YnT1pe/jh6A9Eekey4NAC0grT+PzA5/Rr2o/5V82/xP8Cqk+naZpWZ1e7RLm5uXh4eJCTk4O7u7u1w6k3NE3jge938/e+ZCL8Xfnn4f7Y6m2sHVb9lB0Pi26B5L0QdT1M+MLaEYnLUGQs4p0d72BrY8uKEytIK0rDw8GDcM9w2vu2J9AlkADnAHoF9cLV3pW47Dg+3f8po1qMYmDwQGuHLxoJuTfVrIb+ffZ/cxUJWUX8PK033Vo0gNkizGY4vkbNQ920G/R5wNoRCVGnio3FLDm+hAMZB+gR1IMRzUeg0+nYmryVGWtnkGPIAWBgs4G82u9VDCYD8/bMY8XJFeSW5FrO08qrFRlFGWQVZ2Grs+XtQW9jZ2PHjDUzKDYVW/Z7oNMD3NPxHgByDDlkFmVyJOsIM9fPpIlrE4qMRWQVZ1WK00HvgMFkqPbns9HZYNbMhHuG42znTNeArgQ4B3Ao8xCHMg9xLPtYhf1HtRjFspPLMGtmRrQYQUuPllwXcR1PrHvCkuBf6FohbiGcyD0BgIudCwWlBQA82PlBMooy2JO2B71Oj95Gj8FkoNRUio+TD5NaT6KdbztWx6/mcNZhFscurnBuHTpsbWzPWUi2nU87DmYerLDN08GT/NJ8bom8hRndZlT3a6ukqvcmSaobKE3TmLcmlreWHcXWRsfP9/ahU7CntcOqfwoy4LOr4PRxte7oCVNXgm+4VcMSF2c0GzmQcQAnWycivCLQoSMxP1E9kTzyA/sy9ln2DXIJ4q/xf523O5IQtUHuTTWrIX+fmqbR+tmllJjMrH9iMMHeztYOqbL0o3DgVxg0U4Y6CatYHLuYd3e+S4/AHtzT4R7CPMOqfGxBaQHPb3yeKN8o7oi6o1rX1TQNDQ0bXXnDU6m5lLuX382O1B2WbS3cW+Bk60TM6RiMmpEglyAyijIoNZcS5BJEtiGbIqPqkWKrs6Vf035sTdlq2VaWSDroHfB29Ca5IJkglyAivSNZlbAKB70Dt7a9ldPFp1lyfInluHNxt3fnk2Gf8MjqR0gtTAXg3o73MqDZAL46+BXrEtcR7hlOK69W7EnbQ2xOLDO6zmBv+l42JG2wJPM9AnvwybBPsLWp3Dn5s/2f8f6u9wn1CCUuJ86yvX/T/sy7ap5lvcRUwvu73mfR0UUUm4qZ1HoSS08sxdXOlUHBg8g2ZPN33N9Aeatz2cOBhzo/xF0d7qry/1Zmzcy8PfNYcGgBRcYiugd2Z0bXGYR5hvHZ/s/YlLSJISFDOJ5znD/j/qzwv8X6pPWYNTNfjfyKEPcQdOjwcbr82XskqW7kXlx8kK82nQDgiZGtuW+QJInntfMrNX6sWXe47n/gXXksiqhfCksLmbx0MoezDgPqSaTBZKjwVNXN3g1QBcle6ftKhfE3QtQFuTfVrIb8fWbmG+j6yr8ARL8yCnvbethrbON7sOJ5GDgTBj9l7WhEI/DfsbUJeQk8tvYxxoaN5Za2t1Taf+KfEy33dVc7V+YMmmPpKn0umqaRW5KLXqfn8wOf89n+zwCYO3guPo4+bEvZRpRvFL2DerMzdSfz987n5sibGRIyBIPJwMGMg7jYuTBzvRrX6+3oTTO3ZiQXJIMGaUVpuNi5MKLFCP6M/bNCS+iIFiN4rd9rHM85zoOrHlTHAB39OvJQ54fo5N8Je7096YXpbEvZRrGxmKuaX8X0NdPZlrINAC8HL5ZevxQnWyfuWXEPm5M3V/h8ep0ek2aiT5M+HDt9jAJjAR9f9TEHMg7Qt2lfQj1C+TP2T57Z8AzTOk7jvk73nfd7yi/Nt/wuAsgvyed4znFaebfCQX/+oaE5hhxc7VyZ8OcEjmUfI8onircGvnXOejLZxdlkG7Jp4dECTdMqdIk/mHmQHSk7CPUIxdXOlQ92f8DE1hMZFTrqvNe+kBxDDrkluReceWX5ieUcyDzAxFYTaebWjGOnj2EwG2jn0+6Srnk+klQ3YnHp+QydsxZNgxfHtuX2Pi1kfGiZpJ3wxwNQnAMP7QFbe9A0VenUwdXa0YkqMGtmHl71MGsS1+Bk64SmaZYnrrY2trT1aUtnv87c0PoGHPWOnMg9Qc+gnlaOWlyJ5N5Usxry93nwVA5j3t+Ar6s9O54dZu1wzu2Hm1VdkWGzoO9D1o5G1DNmzcyzG57FRmfDy31fJtuQjZeD13l/Xy44uID3d7/PfZ3u484oNQXpE+ue4J/j/wBwS+QtuNm7MaX9FBz0DmQVZzFwkRp+1dy9uaXOycBmA7k58mY+3vsxoR6hzOg2A1c7V1bFr+KtHW+RlJ900di7+Hch5nQMeaV56HV6nuzxJH/F/cW+9H0XPfb9we8zOGQwaYVpxGbHWlqlwz3DLZ89oyiDrw58RSf/TgwNGXrB39wJuQmMXzweg8nAw10eZmr7qYAatvZn7J8czjqMu707XQO60jWgK4cyD9HJvxMms4kiYxFejl6VznmhwmA1JbMokxO5J+js37lCi76QpLpRm/nLPn7YnsDQNv58Prm7tcOpP47+Az9NBmMxeIXCw3usHZG4iLIbRamplHd3vcs/x/+hnU871iauxUHvwBcjviDIJYgvDnyBr5MvN7S+AXd7+TdA1A9yb6pZDfX7/HLjcV768xAAbQLdWPrIACtHdEZuMrgFqq7emgZvhUNhBty5HELkQWRjty15G+lF6YwJG2PZll2cTYm55JzTFu1O281t/9wGwODgwaxOWM09He7hgc4PsPLkSubtnUeEVwQ3tr6R5IJknlj3BKBaW4c1H8bhrMOWRPlsd3e4m/Hh49mSvIWXNr9EK69WfDfmO17f9jq/xvyKWTNX2N/PyY/m7s0rdMsu0zWgK4WlhRzOOoyrnSud/DuxNXmrpYXZzd7NUmDrbJHekbw54E3yS/NJzEsk0CXQ0rLb0a9jNb7VqlkVv4rtKdt5qMtDONk61fj5Rd2q6r1Jqn83MAlZhfy6Sz21u3dQSytHUw+YjLD+bUjcoSqZmkshbDAMe9nakYlzyC3J5YcjP5Bfmk92cTZ/xP7BgKYDSC5I5ujpowCsTVwLwNM9n6aDXwcAnuzxpNViFkKIC1m4Nd6y3NTTyj+gNU3NOX10iSrO2f0uGPM2ZESrhFpvD006WTdGUas0TeOTfZ/w0Z6PAGji2oRI70geWPUAW5O3otfp+WqkanU9278n/7Usr05YDcD/9v+P3k1689rW10grSiP6dDT/HP/Hkgh7O3qTVZzF0hNLLccOaDaAAOcATuaeZFvKNj7f/zmf7vvU8n7voN446B14ofcL3Nb2Np7d+Cz70vfR3rc9p4tPk5ifSHpROrY2ttzR7g6mtJ/CydyTrE9cz3UR1+Hl6EWhsRA3Ozd0Oh2pBaksOrqI1MJUHu36KItjF/P1wa8xa2bmXzUfOxs7Qj1CLS29dTHN0pCQIQwJGVLr1xH1iyTVDcwrfx+ixGSmT0ufhlFdtLb9djcc+KV8Pep6GP8p6OU/7fpm86nNPLHuCbIN2RW2r0lcA6iiHNe0vIZfYn7h6rCrGR8+vu6DFEKIaigxmjmeoSrcejjZcUM3K85rbzbB/4aARzPIU+M/2f4/yD4JMWpaG5x9wVam3myI1ias5dWtr3Jz5M3c3u72Su9rmsbJ3JN8sPsDyzRGAL9E/4K3ozdbk7cCYNJMfH3wa+xs7MgoyiDCK4Igl6AKSTWAk60TRcYiJi+dbNk2rPkwVpxcAaju3VPaT2Hm+pl42HvQ3L05R08fZWb3mQS7B6NpGtP+ncamU5sqnPfsMdShHqF8PfJrDmcepo13G8yYWRW/iricOEaHjrbMx9zWpy1tfdpajju7x1qASwAPdSkfznBn1J3c1vY2TJrpgmOJhahp0v27Adl0LIObPtuKrY2OJQ/3p1WA28UPamw0rWLV0vXvwJrXYfDT4NsKWo0EG7314hOVrE1Yyy8xv7A+cT1GzUiYRxiRPpHkl+QzKnQU/578lyDXIO5qfxdejl4YzcZzVqkUor6Re1PNaojfZ9lYandHW/a+MNy69U2SdsLX41RLdPxmMBsr79Pldrjm/ToPTVye9MJ0xi8eb5niqYlLE2xtbHln0Du09GjJtH+nsTN1JybNBKj6I5NaT2Lh4YUVzvNwl4d5b9d7FbbZ6Gzo37Q/axPX4mTrxNM9n2ZL8hbu7nA3D6962DJF0jM9n+HGNjey+dRm7PX2dA3oetG4M4oyWHh4IT0Ce7Di5AoyizJ5e+Db2OntauBbEaJuSPfvRuiTdarc/c09Q67MhBpg7ZtQWgBDXwQbG+jzMIQNgqYX/8dd1I3UglT+jPuTQ5mHaOHegs8PfG7pKjY6dDSz+s6qUHDj7PFegCTUQogG43CyGr/ZJsjd+gVDY1dBSR6cWK/WXQPBMwT828CAx2H7Z+qeKRqUdYnreGv7W+QYcnC3dye3JJdTBacAmLx0MoODB1uqTdva2NItoBv3d7qfjn4d2Xxqs2WqpHEtxzG1/VQ2JG1gZ+pOAMI8wojLibMMuxrXchzXhl/LteHXArDo6kV8tOcj8kryuC7iOoALVuv+L18nXx7u8nC1jxOiIZJfrw1EXHo+a6PT0elgSr+qz+vXqCRshzWvqeXQARB+lermLQl1vVBQWsD7u97np+ifKkxLAarL2K1tb6WTXyfr//AUQogacjg5F4C2QfWgZT1WjYOl9wNg6wjuQdB9avn7Umuk3tqesp1nNzyLm70bIe4hdPTryE1tbmL5yeU8tf4pNDS8Hb35YsQXxOXEoUPHwsML2ZG6g7/i/gLg2Z7PMj5ifIWH1k92f5KP931cIVF+pMsjPL/peW6JvIWJrSey+dRmNp/aTEf/jgxsNrBCXM52zjze/fE6+x6EaMgkqW4gvj4zJ/WQ1v6E+DhbNxhr0DRY/oxa7niTSqhFvRGfG8/dK+62TH3Rxb8LHfw68EvML7T1acvr/V+v9ekghBCiLu1PzOH33erfPKsn1cU5kKDGzNLjLvBqYdVwRNWVmkp5efPLqvW5AI6ePsqKkyv4/sj3JBcko6Fxbfi1PNH9Cdzs3WjpqYrUDmg2gKc3PM2yE8to59OOG1rfUGkqpD5N+9CnaZ8K2zr5d2LxtYst672b9JZWZCFqgCTVDUBCViHfb0sA4M5+oVaOxgqy42Hly+oHg60TDH3O2hFd0bYkb+HVLa/SPbA7fk5+FJmKWJuwlqT8JJq4NOGFPi/Qp4m6iT/a9VF06KR1WgjRqOw8eZrr55cXYIq0ZlIdswIWP6jGUHuHSUJdz6QUpDBvzzxC3EOw1dni6ehJM9dmPL7uca4NvxYvBy9O5J7A29GbF3q/wIncE3y2/zPLQ+rrIq7jhd4vVEqY7fX2vDngTSa2mkhbn7Yyt7AQViZJdQPwzvKjlJjM9A33oU9LH2uHU7ey4+Hz4eWVTAc/De5NrBvTFSq3JJdT+ad4ct2TZBVnWYqXlPF39ufb0d/i5+xn2SY3eSFEY7TqSKpluXWAG60DrVTnxJAHv94NRVng3gzGvnfxY8RlMZlN2OhsLA+LM4syyTZkszh2MZtPbSYpPwlvR28CnAPo36w/u1J3sSphVYVz2OhsMGtmPt//OY62jgA82PlByzRMo1qMYnXCanoF9SLM8/xD/mx0NvQI6lFLn1QIUR2SVNdz0al5/LFXFaSYOTLyymvxO7VHJdS+rWH8fBk/bQUJeQlMXzOdI1lHLNvCPcOJ8IwAHTjbOpOYl8iMbjMqJNRCCNFYbY7NBOD169ozqXtw3d+bTUZVU8TBDSZ9C3u/hzHvyHRZNaTUXEphaSEeDh4Vth/MPMgdS+9gXMtxPNPrGf45/g9PrHui0vG5JbmcyD3B1pStlm2hHqGEeYSxIWkDBpPBklgXGYvo4t/FUggMIMg1iJsib6q9DyiEqHGSVNdz76+MQdNgZLtA2jfzuPgBjcHKWRDcA1qNgAM/g39buOUXaaGuAwWlBfwa8ysd/DoQlx1HZnEmm05tsiTUzrbO+Dj58M7Ady749FwIIRqrAoORfYlqaqO+4b51n1DvXQSLH4DBz0C/R6BFX/UnLllGUQb/HP+H6yOuZ2X8SubumktWcRYfDf3IMpwJYN6eeRQZi/jh6A9cF3Ed8/fOB8BB70CUbxSTWk+ipWdLcgw5bEnewqf7PgXg6rCrmd1/NgCHMg+x/MRyBocM5q7ldwEwq+8s6dklRAMnSXU9FpOax9/7Vbfnh4ZGWDmaWlZSAHbOkHkMNrwLmgke3AUTF1Sem1rUqMS8RLwcvXCxc2HWlln8Hfd3pX0c9A78NPYnQj2uwDH9Qghxlh0nT2M0azTzciLYu44Lh57cBH/cD+ZSWP+Oqu7t4Fq3MTQCG5I28OS6J3ms22NcG34tj619jJ2pOzmYeZAlcUvQ0AB4efPL/DbuN/Q6PeuT1rMucZ3lHBP/mgiAm50bK25YgYudS4VrdA/sjq2NLStPruSBzg9Ytrf1aUtbn7YA/DL2F9BBsFtwbX9kIUQtk6S6Hvtg1TE0DUa0C6Btk3owXUdt0DRY97aaKsu3FRgNKqFuNQp8VIVLSahrz+/Hfue5jc9hb2NPt8BubDq1CR069Do9Hg4eONk6kZifyAOdHpCEWgghgG3HVdfvXmFWqHGycpZKqAEMuTC7KTywA3wb+YP3GlRiKuGVLa+QW5LLx3s/xtXe1TJvc9lD5Q6+HUgrSiMpP4nnNj5H9OlojuccB9TsFvsy9mE0GwGY0GpCpYS6zL0d7+XejveeN5Zgd0mmhWgsJKmup46l5fPnPjWWulG3Uq95Hda+rpbTz4zZdXCHq160WkiN0bITy/gr7i+mRE2hk38ntqdsZ2X8ShYdXQRAibmETadUJdsJrSbwZI8n0ev0mDUziXmJ0tVbCCHOOJFRCNTRNFqaBnkp4BaoHjCPfhOOr4fcJNj8odrHyav242hEvjv8naWy9qmCU0xfM73SPtdGXEugcyAPrnqQZSeWAeBu707XgK482eNJMooy+CX6F3JLcrkj6o46jV8IUT9JUl1PfbRatVIPaxtAuyaNeCx1p5tg19fQ9xFw9gZ0EDoA3AKsHVmjUWwsZtaWWeQYcliTsIZuAd3YmbrT0r1tWPNh3NPhHlacXEFmcSaPdH0EB315sRtJqIUQolxSdhEATTwda/9imz6AFc9B+DBV2TuwvforKYTMWPBrDS6+tR9HA7Xi5ApO5Jzgzqg70duoB8ULjywEVJfrhDw1XWkL9xaEe4bzb/y/2OpsGRYyDE9HT94d9C5PrHuCQJdAPh32KUGuQQA0dW1KR7+OVvtcQoj6R5Lqeig+s5DFZyp+PzSkEbZSZ8SUd1Xzaq66rsmYsBplMptIK0wjtTCVg5kHyTHkWN7bkboDUFN29G7SmzFhY7DX29Pau7W1whVCiAbjlCWpdqr9ix36Xb0eWwELxsG09WDnBPbOcNMPtX/9BiK1IBVvR2/s9HaWbVuSt/DY2scwa2ZyDDnsz9iPn7MfKQUpuNi58NbAt7jl71twd3Bn3tB5ZBRnsDphNSNCR+Dp6AnA4JDBrJq4CkdbR+xs7M5zdSGEkKS6Xpq/NhaTWWNgK7/GVfE79aDq7n3kL1WALHKs2i4JdY0xmU28svUV/jj2B6Vl4+7OeKjzQwwOHsw/J/4h3DOcUaGjrBSlEEI0TCVGM+n5BqAOkmpDvppWskxmDLzbThXxdPKs3Ws3AL/F/EZcThxDQ4Zy+9LbGdhsIK/0e4VvD33Ln7F/klKQglkzA/D1oa8rHDs0ZCjtfNrx49gf8XL0wtfJl2D3YJZdvwwvx4rd6d3srTQHuRCiQZGkup5Jzini552qO9IDQ8KtHE0NKsyCr8dCoSrwwqnd5Um1uCxGs5Gs4iz8nPyYu2suP0f/DICtjS3u9u5kFWfhoHdgfMR4fJ18edDrQStHLIQQDVNqbjGaBva2Nvi42NfuxUwlMOAxSD8KHW+E729U99Ci01d8Ur0ucR3Pb3oegNUJqzFrZlYnrOa6P64jtTDVsl8X/y6cNpzmeM5x9Do9Js0EwJjQMQBEeFXsDRjgIkPPhBCXRpLqeubTdXGUmjR6hHrTvYW3tcO5fPlpsPUTSD2gfgz4toIJX0JglLUja7BiTsfw/ZHvmdZxGn5Ofjyy+hHWJq4l0juSw1mHAXi136uMCR2Djc6GHak7cLN3w9dJxt0JIcTlsIyn9nCs/fmpnb1h8NPl62PfB7MRvK/MmRg2Jm1k6YmlDGs+jKfWP2XZfjL3pGU5tTAVXydfnuz+JFG+UTR1bcqRrCN8d+Q7bom8hZe3vIytzpYeQT2s8RGEEI2YJNX1SHqege+3xQPwwOBG0EpdWgSfD4PTJ8q3jX5bEurLYNbMPLX+KY6ePkq2IZurQq5ibeJaAA5nHcZGZ8OMrjO4puU1lmO6B3a3VrhCCNGo1Nl4ak2rPJ1k19tr95pWZDQbKSgtwMOhfMjb4tjFzN05l0ifSK5peQ0vbnqR/NJ8fj/2O0CFlmdHvSOOto6UmkuZN3QekT6RlvNE+kQyq+8sABaOXlh3H0oIcUWRpLoe+Wj1MYpLzXQM9qR/RCNoVbRzgp73wtaPVUGy4F4QNtDaUTVoS48v5ejpo4Cqarri5AoAro+4Hr1Oz+iw0XQN6GrNEIUQotFKzikGaimpjlsD+36EAY/D2jfBpyX0n1E5uW6EXt/2Or/E/MJXI7+io19HEnITeGXLKxQZi0hPTGdd4joAdOjQ0IjwiuCL4V9w85Kbic+Lp1eTXrzQ+wUA6ZUlhLAKSarriYSsQr7bqlqpnxjRuva7ldWm0ydBM4F3GPS8B7rcCvYu1o6qwcox5PD5/s9ZfnK5ZW5NN3s38kryAIjyieLpnk9jr6/l8X1CCHGFS6rNlurlz0HKPthzpjVVp4dWIxt97y5N01hxcgVGs5GvDnxFVnEW+zP2U2oupWtAVwJdAvk77m8APh72MSWmEroFdMPV3pXJUZN5ZcsrTGo9SZJpIYRVSVJdD+QWl3LXgh2UmMz0DvOhb3gDvDGcPgFpRyArDpY9BV3vgLFz1RN2SagvidFsJD43npnrZ1rGSuvQ0btJbx7r9hivbn2VKJ8oHuzyoCTUQghRB06dNaa6RhVlq4S6jJ0zXDuvUSbU+9L3sTttN2192tItoBuJ+YlkFWcB8G/8v5b9mro25ZW+r9DUtSn9mvbDVmdLnyZ9KpzrhlY3MCFiQsNuiBBCNAqSVNcDr/x1iCMpefi6OvDmhA7WDqf6TEZV2Ts7vnybJNLVomkaD656kMNZh1k4eiE5hhweXv2wpWXa29GbZ3s9S98mfXG2cwbgq5FfWTFiIYS48pQl1UE13VIdv0W9OnlDv0eh1Qjwa12z16gHSkwl3L/yfrIN2QA83fPpc05Z9Vq/1xgZOtIyN/TVYVef95ySUAsh6gNJqq2sxGjmn/0pALx3YyeCvZ2tHNEliF5aMaHu8yAMm2W9eBqg1QmrLQXHZqyZwbHsYxQaC3HUO9LauzUv9XmJlp4trRylEEJc2dLz1BzVge413FLdpBOMfQ90NtDltpo9dz2yLnGdJaEGWHRkkaWYpoPeAYPJQAe/DlwddrUky0KIBkWSaivbejyTPIMRX1cHeof5WDucS7PtE/Xa92HoOQ3cm1g3nnqusLQQJ1snzJqZvel7iT4dzYJDCyzv78tQXQB7BPZgzqA5FaqhCiGEsI5Sk5nThaUA+LjW8JAbt0DoOrlmz2klJrOJU/mnCHYPrvTe4tjFgOq2vTh2MbE5scTmxAKq1TqzKFMSaiFEgyRJtZWtOJQKwFWR/tjYNMCbiKaBRwigg25TJKG+iP3p+5m8dDJ9m/alxFTCxlMbLe95OHgwssVIFh1dxPUR1/NMr2csXd+EEEJYV1ZBCQA2OvByrsGk2pAPDq41dz4r+3Tfp8zbO4+ZPWZyc+TNGEwGfo35ld9ifuNI1hEAbo68mSJjEX/F/WU5rldQL5q4ym8IIUTDJEm1FWmaxr9nkuphbQOsHM0l0ulg+Cw19surubWjqffe2/UeJeYSViesBtTcmj2DehLhFcG14dfS3L0593W6D29HbytHKoQQ4mwZ+arrt7eLA/qaegiesh8WXAsDn4QedzX46bOMZiOLji4C4KPdHzE6dDQz189k06lNln0GNhtIS8+W3NTmJpaeWIqT3okb29woCbUQokGTpNqKDp7K5VROMU52+oZV8TsrDvZ8r+bStLUHZ2/o+5C1o6qXMooyuGXJLdja2NIrqBdbU7ai1+kxaSYAXuv/GsOaD6twjCTUQghR/2Tkq5Zq35rq+n1qN3w9Dgw5cOBn6HYH6Bt276RNpzaRWZwJQF5pHrf+cysnc0/iqHfk0a6PMih4EEEuQQC092vP6htW42TnhIPewZphCyHEZZOk2orKun73j/DF0U5v5WiqICcJFt4A2SehJB8KM+Dqd60dVb1yNOsowW7BlgrdXx740lLB+2TuSQCuj7ieISFDMGtm+jfrb7VYhRBCVF3GmSJlvq41lAAue0Yl1CG94f9+aPAJtcFk4LvD3wHQ0a8jBzIOWO57M7rN4MY2N1Y6xtPRsy5DFEKIWiNJtRWtaGhdvzfOhbSDatnRA/o+Ys1o6p1tyduYsnwKHfw6sGDkAhLzE/nx6I8ADAkeQoBLAD6OPtwUedM5pxARQghRf5V1/66RlupTu+HkRrCxhQlfgJPn5Z/TCoxmI2mFaTjaOnLn0juJzYnFRmfDc72eA+Cn6J9wt3dnUutJVo5UCCFqlyTVVpJ4upBDybnY6GBIG39rh3NxBZmw6xu1fO18CB8Grn7WjameOJx5mNTCVJbELQFgX/o+blpyE4cyDwEQ5RPF3MFzpZqpEEI0YJkFZd2/L6OlWtNg1Sw48Ktaj7q+QRX43JO2h4/3fcwjXR6htVdrHlz1IBuSNuDv7E9aYRq+Tr481+s5WnurObaf7fWslSMWQoi6IUm1lXyzRXWJ6hHqjU9NdSWrLUYD/HwHGIsgqBN0/L8GX0ylpvx49Ede2/qaZYx0mUOZh9Cho0dgD57p9Ywk1EII0cBZun+7XcY9+/QJVZMk7xTo9ND7gZoJro58sPsDtqVsY2PSRp7s/iQbkjYAkFaYhpOtE/8b9j/CvcKtHKUQQtQ9SaqtIKeolIVb4gGY2i/MytFUga0DHF8Lege46kVJqM/YnbabWVtmVdhma2PLyBYjyS/J54HOD1ie1gshhGjY0vNrYEy1dyjMOAyH/wKfcPBvU0PR1Y2UghTL8hvb3wDg2vBrSS9K55bIWyShFkJcsSSptoIftsWTbzDSKsC1YXT91jRoOw6GPAe+EdaOxuqWnVjGshPL2Jm6E4DRoaNZk7CGQmMh10dcL93dhBCiESqr/u1TE2OqI6++/HPUkrMLbsblxPG/ff/juojr6BbQjdPFpy372drYcnXY1bzY+0X0Ng2g2KoQQtQiSaqtYOlB9aT3tt4tsKmpuS5r0vbPYd1bEHkNDH0OHNxg4gJrR2VVJrOJZSeWUWwqZtaWWRjNRst7D3V5iHs73stP0T8xpf0UK0YphBCitmSeaan2u5SW6sIsSD0ALfrX695e21O2c+eyOwn3DOedge9wz7/3kFKQwsr4lbw98G3ySvPQoeP3cb/j6+yLu727tUMWQoh6QZLqOpaZb2BPQjYAV0XWw6rfq2fD2tfV8rZPwDsMek2zbkxWciTrCIl5ibjZu7H8xHJ+jP7R8p63ozdZxVncEnkLTV2bAvB498etFaoQQohaZDZrl1eo7O/pcPA3tRx+FUz4EhzrT0KaUZRBVnEWv8aoAmrHso8x7o9xANjobCgyFnH/yvsBCHQJJMyzAQxdE0KIOiRJdR1bczQdTYN2TdwJ9HC0djgVJe8tT6gHPQ1dbgP3IOvGZCVxOXHc+NeNFQqQ6dDh4+SDn5Mfn434jJziHJq5NbNilEIIIepCdlEpJrMGgLdLNbp/Z8WBi395Qg1w7F/VA8zKNE1jf8Z+Ir0juXvF3cScjqm0T1uftrzc52Vu/edWioxFAIS4h9R1qEIIUe9JUl3HVh1JA2BofRtLrWmw6hW13P4GGPSkdeOxAoPJQFJ+Eu727vwS/QsmzYS/sz96nZ7UwlSe7vE0k9qUz7Up3d6EEOLKcCwtH1Ct1Pa2NlU7KGE7fDEcAttX3O4RUi+6gP99/G+eWv8UHf06Vkio3e3d+Wb0NxSVFtHWpy06nY6eQT1Zk7AGgOZuza0TsBBC1GOSVNeh3OLS8qS6PnX9Ls6B/w2BzGNqio9BT1k7ojpnMBkY9/s4kvKTKmx/ofcLDGg2gBJTCfb6GihOI4QQosFZG63u3X3Dfap+0Pq3QTOrXmD3bYETG+Dg79D34doJspq+PfQtAHvT91bYfmObGwnzqNi9e2CzgZakWlqqhRCiMkmq69Cfe09RVGoi3N+VDs08rB1OOUcP6HQTrH5NVfj2aWntiGrdgYwDHMo8RKm5lHDPcJILkknKT8JWZ4tRU0XI3Ozc6NOkD4Ak1EIIcQVbczQdgIGt/Kp2gPlMMl0m5QD0uEv91RMl5pIK6491ewxPB09GtBhRad8BzQZYlv2d61lPOyGEqAckqa5Di7YnAHBj92B01u76ZSwBvV15F7Q+D0GPe8DB1bpx1YGjWUe5ecnNmDVzpffu73w/DnoH3t/1Pvd3vh9bG/m/iBBCXMnS8oo5eCoXgAFVTaptbOC+zTCvN+QlQ/Q/0OGGWoyyeoqNxcRlx1nWbXQ2jG05Fm9H73Pu7+/sz7Dmw9iZupPeQb3rKkwhhGgwJGOoI3Hp+exLzMFOr2N856ZWDmYNfHs92DrBvRvAq4VKsPV21o2rjnx18CvMmpmWHi1p7t6cVQmrLO9dF3Ed3o7e3NTmJpl3UwghBBuPZQDQoZlH9Sp/O3nBDV+rcdUHfoExc8DJs3aCrKbo09GYNBNudm4MCB5AmEfYeRPqMm8PfBsdOus3CgghRD0kSXUdWRetuo71CPXG51Km46hJa98EsxFK8uDH2+DutfWiaEptMWtmSyI9JnQMS48vBeDV/q/Szqcdm09t5rmNz3FNy2ssPyokoRZCCAEQk6qKlHVs5nnxnY0l8NlQ8I2Aaz6AZt0gqCMY8sHOqXYDvVBYZiP70vfRyb8TWcVZLD+xHIAO/h14vf/rVTqHja6KBdqEEOIKJEl1HVkfo55094+oYtex2pK8D05uVMt3/KNu9o04oTaajczeOtsyx/Sio4swakZ6BvaknU87AHo36c2/N/xrzTCFEELUU/FZhQA093G++M5ZsZCyD7KOg52zur/etRrQqS7hVvLS5pf4/djv3NHuDv6I/YOs4iwA2nq3tVpMQgjRmEhSXQdKjGY2x2UC0C/c14qBFMDyZ9Ry1PXQvI/1YqkD0aejeXLdkxzLPmbZllKQgpOtE0/0eMKKkQkhhGgoEk6r+ZmbeVUhqU4/ol79WpU/sLZyz6ftKdv5/djvAHx58MsK7/Vt2tcKEQkhROMjSXUd2B1/msISEz4u9rQNstLcxgUZahx18h6wdYS+j1gnjjpSairlibVPEJsTi4eDBzN7zGR94npWxa/itX6v0cqrlbVDFEII0QAknGmpDvGuSlIdrV792tRiRFVn1sy8vq1y9+6nez5N76DetPBoUfdBCSFEIyQDZOpAWdfvfhG+2NhYqau1raN6dfaB2/+CoA7WiaMWFZYWsjFpIzPWzOD2pbcTmxOLt6M3f4z7g6vDruaNAW+wdtJarmp+lbVDFUKIem/evHmEhobi6OhI165dWb9+/QX3NxgMPPPMMzRv3hwHBwdatmzJF198UUfR1o58g5GsAjX1VLB3FcZEl7VU+9aPB7er4lcRfToaVztXHuv2GAAt3FswsdVESaiFEKIGSUt1HVgfo4qUWXU8tYMr3PQjlOQ3unmozZqZN7a9wfdHvkdDq/De9K7T8XHysaw721WhpUEIIa5wixYt4pFHHmHevHn07duXTz75hFGjRnHo0CFCQkLOeczEiRNJTU3l888/Jzw8nLS0NIxGYx1HXrPKWqm9nO1wc6zCDBkZ1m+pNmtmCkoLcLFz4eO9HwNwc+TN3Nb2NgKcA2jn006KcQohRA2TpLqWnS4oYV9SDmCF8dQJ22DfjzD6LTW2yy0ACKjbGGqZpmm8tvU1Fh1dBICPow/DWwynuXtznG2duablNVaOUAghGp45c+YwZcoUpk6dCsDcuXNZtmwZ8+fPZ/bs2ZX2X7p0KWvXriUuLg5vbzWLQosWLeoy5FpRVqQsuCpdv82mimOqreTlzS/zx7E/6Nu0L0dPH8XZ1plb296KTqdjZOhIq8UlhBCNmSTVtWxTbCaaBq0CXAn0cKy7C+eegm8ngCEHWo2EiMbV5Xl7ynYWHl4IwMr4lejQ8Wq/VxnbcqyVIxNCiIatpKSEnTt3MnPmzArbhw8fzqZNm855zOLFi+nWrRtvvvkm33zzDS4uLlxzzTXMmjULJ6dzd5s2GAwYDAbLem5ubs19iBqSUJ2k2lQK3e6E3d+CZ/Najuzc4nLi+DXmVzQ01iauBWBGtxl4OHhYJR4hhLhSSFJdy6zS9VvT4M9HVEId2B6adK67a9eBdYnreHT1o5SYSyzbXuzzoiTUQghRAzIyMjCZTAQEVOzZFBAQQEpKyjmPiYuLY8OGDTg6OvLbb7+RkZHBfffdR1ZW1nnHVc+ePZuXXnqpxuOvSZakuiqVv+0cYcRsaDmkTit+H885zg9HfmBq+6n8b9//0NDwdvQmqziLMWFjuKHVDXUWixBCXKkkqa5FmqadNT91HXb9XjULYpaB3h6u+x+4+Fz8mHrOZDaxN30v0aejeWP7GxjNRnoF9cLN3o3BwYMloRZCiBqm01UsrKlpWqVtZcxmMzqdjoULF+LhoVpF58yZw4QJE/joo4/O2Vr91FNPMX36dMt6bm4uwcHBNfgJLk+Bwci6M/fwKs1RDaC3hdajajGqigwmA9f8roY5FRoL+ef4PwDMu2oePo4+BDgHnPd/MyGEEDVHkupaFJdRQFJ2EfZ6G3qG1kFiG7sa/nkSMo6q9dFvg39k7V+3FpnMJjae2siHuz/kcNZhy/ZRLUbxav9XsbOpQuEYIYQQVebr64ter6/UKp2Wllap9bpMUFAQTZs2tSTUAJGRkWiaRmJiIhEREZWOcXBwwMHBoWaDv0TRqXm4OtjSxLM8+X/q1/0czyjA382BEe0Cz3/w0aWwawH0eQCa96mDaJX0wnTm7pprWS+bizrQJZB2Pu3qLA4hhBAypVat2nDmCXe3Fl442ddyVzBjCfx2j0qobWxh2CzoenvtXrOWGUwGbv3nVu5feT+Hsw7jYudCG+82TG0/ldn9Z0tCLYQQtcDe3p6uXbuyYsWKCttXrFhBnz7nThr79u3LqVOnyM/Pt2yLjo7GxsaGZs2a1Wq8lys1t5ir39/A8HfXsTchG4AtcZks3nsKvY2OeTd3wdvF/vwn2PMtHP0bopfWTcDAplObuPq3q1kcu7jSe+1929dZHEIIIRRpqa5FdTqe2tZezT+97RMY8hw4edb+NWtJRlEGfxz7g1P5p9ifsR8XOxeui7iOKVFTKkyPJYQQonZMnz6dW2+9lW7dutG7d28+/fRT4uPjmTZtGqC6biclJbFgwQIAbrrpJmbNmsUdd9zBSy+9REZGBo8//jh33nnneQuV1RebYjMoMZkpMZm57YttrJg+gDeXqire/9cjmG4tvC98goxj6jVsUO0GesaBjAPcv/J+jGYjbX3acneHu3l6/dMUGtX47w6+HeokDiGEEOUkqa4lRpOZzbGZQB2Op/ZrBWPeqZtr1bAiYxGOelUdfeb6mWxN3mp578U+LzKyhUwDIoQQdWXSpElkZmby8ssvk5ycTFRUFEuWLKF5c1XVOjk5mfj4eMv+rq6urFixggcffJBu3brh4+PDxIkTeeWVV6z1Eaps2/HTluWcolIe+2kfu+KzcbSz4aEhlbutV6BpkH1SLddRxe8/Y//EaDbSp0kfPhjyAfZ6e9r5tmN7ynYA2vtJS7UQQtQ1SaprybH0fApKTLg62BIZ5F67FzOVgr7hdoXekLSB+1feT1vvtgwIHlAhoR4aMpQRzUdYMTohhLgy3Xfffdx3333nfO+rr76qtK1NmzaVuow3BNuOqwfgg1r7seZoOuuiVS+z/+sRgr/7RabCLMyE0kJABx510819V9ouAMZHjMder7qlR/lEsT1lO3qdnkjvhl1LRQghGiJJqmvJvoQcAKKauqO3qcXKm2YTfNQDmnaFEa+Bq3/tXauWfHf4O8yamQOZBziQeQCA29rexrSO03C2dZbKpUIIIWpFRr6B2PQCAJ6/ui0bYtZhNGvodDC5T4uLn6CsldotCGxrv+haXkke0aejAejq39WyvZN/JzgIbbzb4GxXxUrlQgghaowk1bVkT2I2AB2DPWvvIkXZqjhZVpxavqaWW8RrQY4hh82nNgMwqNkg0ovScbR15O4Od+Nm72bl6IQQQjRWRpOZzzccB6B1gBthfq70j/Bl9dF0hrbxp7mPy8VPkn2mC7xnSC1GWm5v+l7Mmplgt2D8nMvrtQwOHszzvZ+nk1+nOolDCCFERZJU15J9ZUl1M8/auYCmwa93n5mP2kGNpba7SDe1eia7OJvvjnyHUTPSyqsVHwz9wNohCSGEuEK8+28089fEAnBNpyYAzBwViYuDLTOGt67aSQoyAF2tJ9XxufH4OfuxM3UnAF38u1R4X6fTcUOrG2o1BiGEEOd3SUn1vHnzeOutt0hOTqZdu3bMnTuX/v37n3d/g8HAyy+/zLfffktKSgrNmjXjmWee4c4777zkwOuz4lITR5LzAOjQzOMie1+CnETY9r8zCbU93PEPNOt68ePqgX3p+/j28Le427uzOHYxRcYiAClEJoQQok6tPzPt5aNXteK+QS0BaB3oxoc3dbnQYRX1uAu63A6lBbURIjmGHF7c9CL/xv+Lr5MveSXqt0X3wO61cj0hhBCXptpJ9aJFi3jkkUeYN28effv25ZNPPmHUqFEcOnSIkJBzP6mdOHEiqampfP7554SHh5OWlobRaLzs4Ourw8m5GM0avq72NPWs4alEsuPh435QrMZsM/T5BpNQr0tcx4w1Myg2FVu2NXNtRluftkxsPdGKkQkhhLjSnMpWD3WHRvpfXu0OW3v1Vws+3P0h/8b/C6jpJkENlRodOrpWrieEEOLSVDupnjNnDlOmTGHq1KkAzJ07l2XLljF//nxmz55daf+lS5eydu1a4uLi8PZWcz22aNHi8qKu5w6faaVu18Sj5otsGfIgsAMk7oBhL0P3qTV7/lpgNBv5eO/HfLrvUzQ0egb2pIVHCzr5d2J06GhsdDbWDlEIIcQVpLjUREZ+CQDNvC7x4bemQUk+ONRe/Y8tyVsAeKXvK+QYctDQuCXyFvQ2+lq7phBCiOqrVlJdUlLCzp07mTlzZoXtw4cPZ9OmTec8ZvHixXTr1o0333yTb775BhcXF6655hpmzZqFk1MNt+LWE0dScgFoE1gLN9qAdjD5LygpBPv6X+EzITeBmRtmsi99HwATWk3g6R5PY9eApwATQgjRsJW1Ujvb6/FwuoT7UcYx+G4iZMVChxth1Ovg5FWjMWYUZXAi9wQ6dAwKHoSHQy0MJxNCCFEjqpVUZ2RkYDKZCAgIqLA9ICCAlJSUcx4TFxfHhg0bcHR05LfffiMjI4P77ruPrKwsvvjii3MeYzAYMBgMlvXc3NzqhGl1R1JUS3WrgBpMqvPT1VzUTp5qvQEk1EtPLOX5jc9TZCzCzc6NZ3s9y+gw6bImhBDCupLOJNVNPZ2q36PMbIY/7lMJNahhWQ41N/tGQWkBdy2/i/0Z+wFo5dVKEmohhKjnLqlQ2X9vQJqmnfemZDab0el0LFy4EA8PdVOYM2cOEyZM4KOPPjpna/Xs2bN56aWXLiU0q9M0jaNnkurWNdVSbTbDopvVTfumRVBPu31lFGXw/ZHvySzKxNbGlp+if8KsmekW0I3X+r1GkGuQtUMUQgghLC3VTS6l7smebyFhK9i7wr0bwatFjcb2x7E/LAk1QLfAbjV6fiGEEDWvWkm1r68ver2+Uqt0WlpapdbrMkFBQTRt2tSSUANERkaiaRqJiYlERERUOuapp55i+vTplvXc3FyCg4OrE6rVpOYayCkqRW+jI9zftWZOuuPzMzdwN8hPBfcmNXPeGmQwGbj333s5knWkwvbrIq7j+V7Py/gvIYQQ9UZStiqY2fRSxlMfU4XD6PNQjSTUBpOBmetmsvHURrwcvDhVcKrC+10DGkYxUiGEuJJVK6m2t7ena9eurFixgvHjx1u2r1ixgnHjxp3zmL59+/LTTz+Rn5+Pq6tKMqOjo7GxsaFZs2bnPMbBwQEHB4fqhFZvlI2nbuHjjKNdDSSSRdmw8mW1fNUL9TKhBpizYw5Hso7g5eDF/0X+H+mF6QS6BDK1/VQpRCaEEKJeSTpd3v272tIOq9camnnjta2vWSp8l00zaaOzYXK7ycRmx9Kvab8auY4QQojaU+3u39OnT+fWW2+lW7du9O7dm08//ZT4+HimTZsGqFbmpKQkFixYAMBNN93ErFmzuOOOO3jppZfIyMjg8ccf584772yUhcrKun63Cayh8VU7PgdDLvi3hW5TauacNWxX6i6+O/IdAK/2e5X+zc4/Z7kQQghhbeXdvx2rd6DRAJlnxlL7t73sOLanbOfXmF+x0dnw9sC32Zq8lUVHFzG1/VQe7PzgZZ9fCCFE3ah2Uj1p0iQyMzN5+eWXSU5OJioqiiVLltC8eXMAkpOTiY+Pt+zv6urKihUrePDBB+nWrRs+Pj5MnDiRV155peY+RT1yKLkGK3+XFsGW+Wq578NgUz9afFfGryQ+N56BwQPxdPDkxc0vAqqrtyTUQggh6rvyQmXVLPqpmWHch5ARA26XXydkVfwqAK4Ou5phzYcxrPkwHuz8IO72NVf4TAghRO27pEJl9913H/fdd9853/vqq68qbWvTpg0rVqy4lEs1OPuTcgCIalYDlTrXzIaCdPAIhqjrL/98NeBEzgmmr5mOWTMzZ+ccHPWOFJuK8XH0YXrX6Rc/gRBCCGFFJUYzyTmX2FJt5wSdbrqs6y88vJAglyCGhAxhQ9IGAAY2G2h5Xyp9CyFEw3NJSbU4t3yDkeMZBQC0b3qZN0WjAWLVE2xGvq6m06oHPtv/GWbNjK+TL9mGbIpNxYS4hfDe4Pfkh4AQQoh6b29iNqUmDR8X+0sbU30ZjmYd5fVtr2NvY8/3V3/PidwT6HV6ejXpVadxCCGEqFmSVNegg0k5aBoEeTji63qZhdZsHWDqSjjyN0ReXTMBXobk/GTe2/0ey44vA+D9we/T3KM5e9P20tm/M672NVTpXAghhKhFm2MzAegV5lP9OaqPLAEHN2jSGRyqf987lHkIgBJzCW9tfwuATv6dpLu3EEI0cJJU16Cyrt+X1UptNoNOp/5sHSDquhqK7jJC0sxMXzOdA5kHABjWfBjt/doDyBhqIYQQDcqm2AwAerX0qd6Be76H31VRVib/DS2qX5X7cNZhy/KW5C0ADA4eXO3zCCGEqF8kqa5BBy43qdY0+OsRsHeFEa+qxNqKMosyuWfFPeSX5pOUn4SLnQvvDHyHnkE9rRqXEEIIcSmKS03sis8GoHdYNZLqnCT443613HYchPS5pOsfzjxcYd3LwYsJrSZc0rmEEELUH5JU16CDp1Tl70suUnZyI+z6GnQ20H4CNO1Sg9FV3eni0+xM3cmvMb9y9PRRy/Z7O95L36Z9rRKTEEIIcbn2JeZQYjTj5+ZASz+Xqh+YtBM0E/i3gwlfXdJsHCazyXJP1ev0mDQTd3W4Cxe7asQhhBCiXpKkuoYYTWZOZKoiZa0CLnE6rbLps7rcbrWEutRcyrR/p1nGfdnZ2DGl/RRsdDbcFHl5FU+FEEIIayqbnzrcz7V646lT1fAnmnS+5Okt4/PiKTIW4ah35JV+r3Ao8xA3tr7xks4lhBCifpGkuoYkni6i1KThaGdDkHs1p+gAOH0Sji5Ryz2n1Wxw1fDlgS85lHkIJ1snPBw8uKfDPdI1TQghRKOQkW8AwNetmsVEU84k1YHtL/na+zP2A9DKuxUjWoxgRIsRl3wuIYQQ9Ysk1TUkLiMfgBY+LtjYXMJY6H0/gmaGsEHg36Zmg6sCo9nIOzve4dvD3wLwXK/nGNtybJ3HIYQQQtSWjPwSAHxc7Kt3YIpKiAmMuqTrFhmLmL9H9UbrGSh1SYQQorGRpLqGxKWrrt8t/S5xaqkYNVUV7cbXUETVc3ZCPbndZK4Os/40XkIIIURNKmup9qtOS7XZBCG9IMUFAtpV+5qr4lfx6b5PScxPJMA5gCntp1T7HEIIIeo3SaprSFyGSqpDfS+h4EhBJiTuUMvhw2owqovbnrKdz/d/zsZTGwF4o/8bjA4bXacxCCGEEHUhs6z7t2s1Wqpt9HD9/y7pekn5STy65lHMmhlbG1te6P2CFCYTQohGSJLqGnL8TEt1WHWqiZYxlUCPuyAnETya1nBk55dZlMkDKx+g0FgIwAOdHpCEWgghRKNV3v27mmOqL9H3h7/HrJnp7N+Z1/u/ThPXJnVyXSGEEHVLkuoaUjam+pJaqt2DYPRbNRzR+eWW5PJz9M/sTdtLobGQNt5teK3fa0R4RdRZDEIIIURdy7yUQmWGPLBzqXbV78LSQn6N+RWAqe2nSkIthBCNmCTVNSDfYCQ1V92ow6o6ptpsgl/vgrbj1F8dSS1IZdq/0ziWfcyybXrX6ZJQCyGEaNQ0Tbu0QmW/TYOY5XDNB9Cx6lNgzd01l7zSPELcQujXtF91wxVCCNGASFJdA06cGU/t62qPh5Nd1Q468Csc+AWOLoXm/cDFpxYjVMyamelrp3Ms+xg+jj4EuATQ0a8jvZv0rvVrCyGEENaUZzBSYjID1SxUdvqkGqbl5F3lQzYkbeD7I98D8FTPp7DRXdrc1kIIIRoGSaprQGz6JXT93vG5eu37UJ0k1AB/HPuDfen7cLZ15pvR3xDsFlwn1xVCCCGsLSNP9ShzdbDF0U5ftYM0DbJPqmWv5lW+1mf7PwPgpjY3SSu1EEJcASSprgFl02mF+Vax63fqIYjfDDo9dLm9FiNTioxFfLT7I8tT8/s63ScJtRBCiCtKZsGZrt/VqfxddBoMuWrZ4+L3zYWHF5JXksfO1J3Y6Gy4M+rOSwlVCCFEAyNJdQ04nlHNyt9bPlKvbUarImW1aE/aHl7a/JJlDHW/pv24KfKmWr2mEEIIUd+UtVT7ulaj63dZK7WLP9g7X3DX6NPRvL7tdct63yZ9CXAJqHacQgghGh5JqmtAtSp/px+FPd+p5T4P1WJU8PLml/kp+icAfBx9eLnvy/Rv2h+dTler1xVCCCHqm4wzlb+rVaTsdNW7fu9L31dhfXzE+KpfRwghRIMmSfVl0jTtrDmqq9D9e/VroJmh9RgI7lFrcR3MOMhP0T9ho7NhfPh4Huj8AL5OvrV2PSGEEKI+K6v8Xa3ptMpaqj0vnlQfyDgAQJhHGGPCxjA0ZGi1YxRCCNEwSVJ9mdLyDBSUmNDb6AjxvnDXMAAixwIaDHiiVuOat3ceAGNCx/Binxdr9VpCCCFEfXe68BKm0/IOg8hroPn5Z8koLC0kPi+eg5kHAXiw84Nc1fyqy4pVCCFEwyJJ9WUqq/wd7OWEvW0VpsxoP0H91YIlcUtYdHQR7vburEtch43Ohns63lMr1xJCCCEaktyiUoCqTX1pMoKNXj0Ijxx7wV1f2/oaf8T+YVmP8o26rDiFEEI0PJJUX6byImVVrPxdS1ILUnlx84sUGYsA0KHjsW6P0dy96lOACCGEEI1VbrERADfHKvz02fU1rH8Het4DfR++4K5nJ9QAAc5SnEwIIa40klRfprLptC5apMxkhG2fQMRw8I2o8Tjm7JxDkbGIVl6tiPSOZEzYGHo3OX93NSGEEOJKUtZS7e5YhZbq2FWQmwSmkgvuVlhaWGG9T5M+UgxUCCGuQJJUX6a4M92/Lzqd1uHFsOxp9eR7RjToa+6rP5p1lCXHl6BDx6y+s2jr07bGzi2EEEI0BnlnWqrdL9b921QKcWvVcssLFxs7nnPcsnx729sZFz7usmIUQgjRMElSfZks3b99L9D9W9Ngw7tqucfdNZZQa5pGZnEm8/aoomQjW4yUhFoIIYQ4h9xi1VJ90e7fSTuhJA+cfSCo0wV3jcmOAaBnYE8e6/5YTYQphBCiAZKk+jKUGM0knFZjmC/YUh27ElL2gZ2zSqpryMd7P7ZU+dahk6JkQgghxHlUuft38l712qwH2Fy4AGlsdiwALT1bXnZ8QgghGq4qlKsW5xOfVYjJrOFir8f/fPNeahqsekUtd70DnL1r5NqbkjYxf+98y/qk1pPkpi6EEEKcg9FkpqDEBFShpTpVzTdN4MWreJe1VId7hV9WfEIIIRo2aam+DGXjqUP9XM5fmOTwYji1G+xdod+jNXLdtMI0ntrwFBoaN7S6gWd7PYuNTp6PCCGEEOeSbzBalt0u1lKdquabJqDdBXcrLC0kOisagHBPSaqFEOJKJkn1ZYirynjqje+p1973g6vfZV/TZDYxc/1MsoqzaOXViie6PyEJtRBCCHEBuUUqqXay02Nve5F7ZnAv0NlAYIfz7pJjyOHWf24lvSgdFzsXIjxrflYPIYQQDYck1ZfheHrZHNXnGU9tKoWmXSE7AbrfVSPX/Hjfx2xP2Y6TrRNvD3wbR1vHGjmvEEII0VhVuUgZwMjXLrrLX3F/cTznOL5Ovrw54E1c7S/wcF0IIUSjJ02cl+FIah4ALf3OczPV28Hot2DGkctupTaZTXx98Gs+2fsJAM/3fp5Qj9DLOqcQQghxJShLqi86nVYVrUlYA8DkdpPpHti9Rs4phBCi4ZKW6ktUYjRz+FQuAB2aeVx4Zxv9ZV/vla2v8HP0zwDc0OoGrg67+rLPKYQQQlwJLHNUX7RI2SHwDAYHt/OfqySPHSk7ABgUPKimQhRCCNGASUv1JYpOzaPEZMbDyY4Qb+fKO2QnQMI2MJsu+1pHso7wS/QvADzb81me7fXsZZ9TCCGEuFKUTad1wSJlmgY/TYa3IuD4uvPutjFpI0bNSKhHKM3dm9dwpEIIIRoiSaov0b7EHEC1Up+z8veehfD5MPj9vsu6TkpBCq9ueRUNjVEtRjGpzSQpTCaEEEJUQ25ZS/WFun+n7IOMo6CZIajjeXfbdGoTAAObDazRGIUQQjRc0v37Eu1PygagfdPzdP2OXqZeW/S75GsczjzM7Utvp8hYhIPegQe7PHjJ5xJCCCGuVHlVKVS270f12noUOJ5/WNeBTDWPdWf/zjUWnxBCiIZNmjwv0dkt1ZXkp8GpXWo5Yvglnb/UVMqzG5+lyFhElE8UX4/8mmC34EsNVwghhLhilU2p5X6h7t9H/1Gv7W847y6FpYXEZscCEOUbVWPxCSGEaNikpfoSRKfmcTi5rEiZZ+UdDv6uXpt0BreAS7rG14e+Jvp0NF4OXnx01Ud4O3pfWrBCCCHEFa68+vd5fvaYTZB9Ui03OX8L9OGsw5g1M/5O/vg7+9d0mEIIIRooaam+CE3TKq2/9OdBzBqMaBdAE0+nygftXqBeO/7fJV0zoyiD/+37HwCPd39cEmohhBDiMpR3/z5PS3VuEpiNoLcHt6DznudAhur6La3UQgghziZJ9QX8vjuJLrNW8MWG45Zt32w5ycZjmdjb2vDM6LaVDzq1B1L2g97hgl3IzqfYWMzsrbMpNBYS5RPFmLAxl/EJhBBCCFHe/fs8LdWnT6hXzxCwqfzTyGg2MmfHHN7e8TYgSbUQQoiKpPv3efy6K5HpP+4F4M1lR7itd3NWHknjxcUHAZgxrBUhPueYSitutXqNvBqcq9fCfCDjAE9veJrjOcfRoeOx7o9JpW8hhBDiMpV3/z5PS7V3S7j6XbA598+iT/Z9wpcHv7Sst/drX+MxCiGEaLgkqT4Hk1nj7WVHLevFpWae/GU/v+1OxKzB9V2acfeAsHMf3O9RNRWHi1+1rrkyfiUz1szApJnwdfLlxd4v0jWg6+V8DCGEEEIA+QbVUu3mcJ6fPR5Nodud53zrYOZBPt33KQDXtLyGZm7N6BHYo1biFEII0TBJUn0O62LSOZVTjKezHaOiAvl+WwK/7EoE4MbuwbxybdS556Yu03JIta6XkJfAcxuew6SZGNZ8GM/3eh5PR8/L+ARCCCGEKFNcagLA0U5f7WPXJa7DrJkZFDyIV/u9WtOhCSGEaASkb/E5LNqWAMD4zk25qUdzy/ZHropg9nXtsdWf42szGdVfNWmaxgubXiCvNI9Ofp14Y8AbklALIYQQNchgNAPgaHeenz3Ry+HkJigpqPRWQq76TdDRr2OtxSeEEKJhk5bq/yguNbHySCoAk7oH0ybQnbdv6IiHkx3D2l5geqzYlfDLVOh4I4x+q8rXW52wmu0p23HQO/D6gNexs7nAHJpCCCGEqLaylmoH2/O0VP9xHxSkwz3r1BCus8TnxQMQ4hZSqzEKIYRouCSp/o8DSTmUmjT83BxoHeAGwISuzS5+4LGVYMgFU2mVr1VsLGbOzjkA3Nr2Vpq6Nr2kmIUQQghxbpqmWVqqHc7VUl1SoBJqAK8Wld5OyFMt1SHuklQLIYQ4N+n+/R97ErIB6BTseeFx0/8Vu1K9hg+t8iEf7v6Qk7kn8XPyY0rUlGpEKYQQQoiqKDGZ0TS1fM6W6vjN6tXFHxw9KryVV5JHVnEWAMFuwbUZphBCiAZMkur/2H1WUl1lqYcg8xjo9BA6oEqH7EzdyYJDCwB4sc+LuNq7VjNSIYQQQlxMWSs1nGdM9e6F6rXdtZXeKmul9nb0xsXOpTbCE0II0QhIUv0fe+KzAehcnaR641z12mZMpafc51JYWsizG55FQ2N8+HgGNKtaIi6EEEKI6ikbT63Tgf1/C40WnYYjf6vlTjdXOlbGUwshhKgKSarPkp5nICm7CJ0O2je7eHIMQNZx2P+zWu4/vUqHfLb/MxLzEwl0CeTx7o9fYrRCCCGEuBhD6Znx1LY2lYd1HfkbTAYIiKpUoAzKK3/LeGohhBAXIkn1WQ4k5QAQ7ueKm2MVq3Dv+Q40E4QNhiadL7p7kbGIRUcXAfBE9ydws3e75HiFEEIIcWEG4wUqf6ccUK9hg1RT9n/E5sQCMp5aCCHEhUn177PEpucD0CqgGolu55tVl2//NlXa/a+4v8gtyaWpa1OGBA+5lDCFEEIIUUXFpReYo/qqF9R9/Bx1Tb47/B1/x6mu4W192tZqjEIIIRo2SarPUpZUt/SrRjESrxbQ54Eq7Xo85zjz98wH4P/a/B96m/PMlymEEEKIGnHBlmo7JwhsX2lzqamUd3a8A8DkdpPp37R/rcYohBCiYZPu32eJTS8AoKV/zVfizi/JZ8qyKaQXpRPmEcaEVhNq/BpCCCGEqMhwoZbq80gpTKHEXIKD3oHpXadXb4pNIYQQVxxJqs8Sd6alOsy3ikn1hrmw6xsozLrorivjV5JelE5T16Z8OfJLmZpDCCGEqAPF52upTo+GxQ/Bzq8qHZOcnwxAkEuQJNRCCCEuSrp/n5FdWEJGfgkAYVXp/m0sgbVvQGkhNO0Czt4X3H3piaUAjGs5Dm/HC+8rhBBCiJpx3pbq5D2w62vIPAZdJ1d461TBKUAl1UIIIcTFSEv1GWVdv4M8HHFxqMKzhsTtKqF29gX/CxcwyS7OZsupLQCMCB1x2bEKIYQQomrO31J9VL36RlQ6JrngTEu1qyTVQgghLk6S6jPiLEXKqtj1+/g69Ro64JzTcJQpNZXy2rbXMGpGWnu1Jswj7HJDFUIIIUQVnbel+v/bu/f4qKp7//+vPTOZyT2QkBuQxMhNBAWFIlGxgBpL1VI958iR70+gipUinnqQWi1aQatCq3LRwtFiRQ9VOdZLbQ9VqQpqFY4gsShIQYJBSAzXJJBkJjOzf39MMhKSQAiT7GT2+/l4zGMyM3tnPmtmks989lp7rW8+D133GNDo7rpgXaPh3yIiIiej4d/1du4P9VS3aug3QPHa0PWZ3z3hZvM/ns9fi/+K03Dyk6E/OZ0QRURE5BTV1jXTU119EL58O/TzGReH735l+yvc9+F94ds9E3t2SIwiItK1qae63r4qLwCZybEn37j6YGj4N0B+y0V1dV01r3/5OgC/+e5vuDT30tOOU0RERFrP6w/1VHuO7ane/BIEfJB1LmSfC4Bpmjy9+elG+6qnWkREWkNFdb2DR0OTlKUluE++8dY/Q9APmYMhNb/Fzd4ueZsafw05STlclntZpEIVERGRVqqtH/7dqKd603+Hrs+7IXxX0b4iSqpKGu2rolpERFpDw7/rHagvqlNbU1Qf/BIwYPC1zT5smiZvfvUmv//s9wBc3edqLckhIiJiAW/9RGXhc6oDfqirhbhUOPsH4e3+tONPTfbNjM/skBhFRKRrU1Fd71BDT3ViK4rqy++HkbeCM6bZh1/e/jJzP5oLgMNwcNWZV0UsThEREWm9Jj3VThfctqHJdh/t/ajJfTEt5HkREZFjafh3vYbh393jW1FUAyRlNrs2dYW3gsWfLAZgXP44ll66lJyknIjFKSIiIq3XpKe6Gf6gn2+qvwFg8ZjFOA0n4/LHdUh8IiLS9amnmlDCPeL1A5CW4Dnxxr6j4G55hvDntjzHIe8h+qT04cGLHyTGoaPcIiIiVmn2nOrj7KveR8AM4HK4+G7Od1n9r6tJcid1VIgiItLFqacaOHS0DgCnwyA57gTHGbxV8Ju+8MyVUFvR5GHTNHmj+A0AbhlyiwpqERERizXpqf7nm7D0YnjjF+FtSo+G1qXOjM/EYThIj08n1tWK1UBERERQUQ3AgaOh5bS6x7tPPKHYl+9AXTVU7QVPcpOHtx3aRklVCR6nh+/2PvH61SIiItL+mvRUHy6BbzbD4a/C2zQU1VqXWkRE2kJFNaewnFbxe6Hr/t+DZorvt3a9BcDFvS4mPiY+ojGKiIh0pCVLlpCfn09sbCzDhg3j/fffb9V+f//733G5XAwdOrR9A2ylJj3V1QdD1/Fp4W0aimotoSUiIm2hoppvi+qTLqd1YEfoOnNQk4c++eYTXvziRQAuz7s8ovGJiIh0pJUrV3L77bcze/ZsNm3axKhRoxg3bhwlJSUn3K+iooJJkyZx6aWXdlCkJ+c9vqe6pmlRXXa0DICshKwOjU1ERKKDimpOpaj+MnSd1rfR3RXeCqa/PZ2quirOyzhPRbWIiHRpjz32GDfddBNTp05l4MCBLFy4kJycHJYuXXrC/W655RYmTpxIQUFBB0V6ck17qg+EruuL6q8qv+LrI18D6qkWEZG2UVFNK4vqulqoCCVdUvs0eujjso85WneU3KRcnrz8SdzOVi7LJSIi0sn4fD42btxIYWFho/sLCwv58MMPW9zvmWee4csvv+S+++5r7xBPSZNzqsNFdSrvlrzLVa9exd/3/B1QUS0iIm2jJbWAA60pqg8VAyZ4UiChR6OHNn6zEYCCngXEueLaK0wREZF2t3//fgKBAJmZmY3uz8zMpKysrNl9tm/fzl133cX777+Py9W6rxZerxev1xu+XVlZ2fagT/Q8J+ipfnXHq422VVEtIiJtoZ5q4FCrhn8bcPZ46F/YZJKyhqJ6WOaw9gpRRESkQx2/GoZpms2ukBEIBJg4cSJz586lf//+rf79Dz/8MCkpKeFLTk7OacfcnCY91bEpoaHf8T3YX7O/0bY6p1pERNpCPdW0sqc64yy47rkmdx/xHWHboW0AnJ9xfrvEJyIi0lF69OiB0+ls0itdXl7epPcaoKqqig0bNrBp0yZmzJgBQDAYxDRNXC4Xb731FmPHjm2y3913383MmTPDtysrK9ulsG7SUz35zwDUBevY9u628HZnppyplTtERKRNVFTT2p7q5m38ZiNBM0jvxN5kJjT9siEiItKVuN1uhg0bxurVq7nmmmvC969evZrx48c32T45OZnNmzc3um/JkiW88847/PGPfyQ/P7/Z5/F4PHg8nsgG34wmPdX1dh7eiS/oIyEmgZVXrSQhJqHdYxERkeikohqorK0DICUupuWNju6HuFRwfDti3hvwsvCThQBc1Oui9gxRRESkw8ycOZMbbriB4cOHU1BQwFNPPUVJSQnTpk0DQr3Me/bs4bnnnsPhcDB48OBG+2dkZBAbG9vk/o5mmmbTnup6Ww9uBWBg6kDykvM6PDYREYkeKqqByho/cIKiOuCHRUMh6Idb3oP00DljT376JDsO7yAtNo1bh97aQdGKiIi0rwkTJnDgwAHuv/9+SktLGTx4MKtWrSIvL1R8lpaWnnTN6s6gLmASNEM/e1xOKP8CXr4J0vqyJW8AAAPTBloYoYiIRIM2TVS2ZMkS8vPziY2NZdiwYbz//vut2u/vf/87LpeLoUOHtuVp24XPH6SmLnQUOym2hWMMpZ+CrwpcbkgLLaflDXhZuW0lAHdfcDfdY7t3SLwiIiIdYfr06ezatQuv18vGjRu55JJLwo8tX76cNWvWtLjvnDlzKCoqav8gT6KhlxrAE+OAqlL45jN8+7by9ldvA3Bu+rlWhSciIlHilIvqlStXcvvttzN79mw2bdrEqFGjGDdu3EmPWFdUVDBp0iQuvfTSNgfbHqrqh34DJHpaKKqL14au8y4GR+icrNVfrabSV0l2QjaX5V7W3mGKiIjIKWo4nxrA43LA4a8AeD0pmfKacjLiMxib03QSNRERkVNxykX1Y489xk033cTUqVMZOHAgCxcuJCcnh6VLl55wv1tuuYWJEydSUFDQ5mDbQ1VtaOh3oseFy9nCy7Grvic+/9uj9H/85x8BuKbfNTgdzub2EhEREQs19FR7XI7QcmAHdmACyx1HAJgyaApu56lPUioiInKsUyqqfT4fGzdupLCwsNH9hYWFfPjhhy3u98wzz/Dll19y3333tS3KdtQwSVlyS0O//T4oWRf6ub6oLq4oZuM3G3EYDq7pe03z+4mIiIilanyhojrOXX/w+8BOKh0GXwWOAiiHi4hIRJzSRGX79+8nEAg0WacyMzOzyXqWDbZv385dd93F+++/j8vVuqfzer14vd7w7crKylMJ85Q0TFKWFNvCJGXln0NdNcR1h4zQZCavbH8FgFG9RpGVkNVusYmIiEjbHfGGcnyCu/77x4Ed7K3/LpIWm0aiO9Gq0EREJIq0aaIywzAa3TZNs8l9AIFAgIkTJzJ37lz69+/f6t//8MMPk5KSEr7k5OS0JcxWaTinOjmuhYK/rH7tzaxzwTDwBXz8acefAPiXfv/SbnGJiIjI6WkoqpNiXRAMwKHicFHdK7GXlaGJiEgUOaWe6h49euB0Opv0SpeXlzfpvQaoqqpiw4YNbNq0iRkzZgAQDAYxTROXy8Vbb73F2LFNJwi5++67mTlzZvh2ZWVluxXW3w7/bqGnOnsofPfn0C0XgHWl6zjkPUR6XDqjeo9ql5hERETk9B1t6Kn2uKDmMGSczZ660HeYnok9LYxMRESiySkV1W63m2HDhrF69Wquuebb85BWr17N+PHjm2yfnJzM5s2bG923ZMkS3nnnHf74xz+Sn5/f7PN4PB48Hs+phNZmDcO/k1taozr73NCl3sdlHwMwqvcoXA4t8y0iItJZHfGGzqlO9LggIQ1uWcve9Q/DF8+TnZhtcXQiIhItTrkqnDlzJjfccAPDhw+noKCAp556ipKSEqZNmwaEepn37NnDc889h8PhYPDgwY32z8jIIDY2tsn9VmnoqW5xjerjbCjbAMDwzOHtFpOIiIicviP1Of7YJTP3HN0LQK8EDf8WEZHIOOWiesKECRw4cID777+f0tJSBg8ezKpVq8jLywOgtLT0pGtWdyYNS2o1O/y7+iB8/TFknQPJPTlad5StB7cCKqpFREQ6u6P1s38neL5d+nLvkVBRreHfIiISKW0avzx9+nSmT5/e7GPLly8/4b5z5sxhzpw5bXnadlFZc4KJyr76O6z8/0KTlE17n6LyIgJmgF6JvTRsTEREpJNrmKgs0RMDf5kJu96ntJsJaKIyERGJnDbN/h1NTjhR2bEzfwP/V/Z/AAzLHNYhsYmIiEjbHaltKKqdcHAnlQe3UxUILdmpg+MiIhIpKqpPtE51uKg+B4D3vn4PgIKeBR0Sm4iIiLRdo9m/qw+El9NKjU0lzhVnZWgiIhJFVFSfaJ3qss9C11mD2XNkDzsO78BpOBnVS0tpiYiIdHZVDcO/Y11QfZDimNAB9N5Jva0MS0REoozti+oWJyqrOQQV9ROuZQ5m7e61AAzNGEqKJ6UjQxQREZE2aOipTnQ7oXo/mz1uAAalDbIyLBERiTK2L6q/najsuKK6oZe6Wy7EdWPt16GienTv0R0YnYiIiLRVQ1Gd7KoDfy2f1xfVg3t0jmU9RUQkOti6qA4GTY74Gs6pPm74d8P51JnnUOuvDa9PfUnvSzoyRBEREWmjhuHfKWYVfmCL2wOoqBYRkchq05Ja0aLK68cMrazRtKgeeBXEp0JCD4r2FeEL+siIyyA/Jb/jAxUREZFTFh7+7QzwZdZAah1HSYxJ5IzkM6wNTEREooqte6qr6icp87gceFzOxg92y4Uh/w59L2N96XoARvYciWEYHR2miIiItMFRbwAAd2Z/Phv7MyB0PrXDsPXXHxERiTBbZ5UaXyjZJnhO3GG/bu86AC7IvqDdYxIREZHTFwyaHDlmSa2/lfwNgHPSz7EyLBERiUK2Hv5dUxcqquNijuulPlwCX/wv9Dyfisyz2HJwCwAXZKmoFhER6Qqq63M8wNdHt/PBng9wGA6u6XuNhVGJiEg0Uk81EBtz3Muw6+/wxl3w9lw2lG0gaAbJT8knMyHTgihFRETkVDWcT+10GKz44G4AxiWeSW5yrpVhiYhIFLJ3Ud3QU+0+rqe6YebvrHP4qPQjAEZmj+zI0EREROQ0VNXWD/12O/m/6j0AXJ/Qx8qQREQkStm7qPa1MPy77B+h66xzwpOU6XxqERGRriM883ecj8NmaGLSflrBQ0RE2oG9i+q6huHfxxTVpgnffAZAWUpPdlXuwmE4+E7Wd6wIUURERNqgYZIyd9xBADL8fuITs6wMSUREopSKaiD+2OHftYeh5hAA/1cXSsSD0gaR7E7u6PBERESkjY54/bjwM9G/CIC8Oj/Ep1kclYiIRCN7F9XNDf8+XBK6Tkjn04NbARiWOayjQxMREZHTcNTr5wyjDJ9jPwB5sWnQW6POREQk8mxdVNc2N1HZ4d2h6265bN4fmrDsnB5a01JERKQrOer1YwBbYlMBOOM7PwF3grVBiYhIVNI61Rx3TnX+JXDjW9T4a/jnB7cDKqpFRES6Gl/AZLvZmyPxvcH8itwkLaUlIiLtw9Y91dXNDf+OTYbcC9iakEzADNAjrgdZCZrYREREpCsJBIOASY35DQB5KXnWBiQiIlHL1kV1ePj38UtqQaOh34ZhdGhcIiIicnoCQTCcRwhQi8NwkJOYY3VIIiISpew9/NvXzDnVH/0WnG42V4XWqj43/VwrQhMREZHTEAgG+aHnr/wNSHN4iHHGWB2SiIhEKXsX1c1NVLZ2PtRWsG3wSAAGpg60IjQRERE5Df6gSZwrtERmd0MFtYiItB9bD/+uqQsCxwz/rq2A2gpqDYOS6jIA+nXvZ1V4IiIi0kaBoAnOowB0d8VbHI2IiEQzexfVPj9wTFFdv5zWzqQeBM0gKZ4U0uPSrQpPRERE2sgfNAk6awBIjUmyOBoREYlm9i6qG5bUahj+XREqqrcnpQHQr1s/TVImIiLSBQWDJnVOHwDdPSkWRyMiItHM3kX18UtqVe4BYHtsaJiYhn6LiIh0Tf6gic9VX1THplocjYiIRDNbF9W19edUxzf0VFfuBWC70wRUVIuIiHRVgaBJtTN08Dw1rofF0YiISDSzdVFdc/w61ZV7MYHtwWogNPxbREREuh5/MMh+R2jW7+6J2RZHIyIi0czeRXX98O/YhqL6srnsnLCcfYEaYhwx9O/e38LoREREpK0CQZMdju4AdM8YbHE0IiISzWxbVAeDZtN1qpMyedd/AIALsi8gPkZLcIiIiHRF/oCJ4ToCQKrOqRYRkXZk26La6w+Gfw4P/wbeLXkXgDE5Yzo8JhEREYmMumAdhrMWgO6x3S2ORkREoplti+qGXmqoH/7traL8jTv5x/5/ACqqRUREurKE2i8AcJiQoiW1RESkHdm+qPa4HDgdBhzezSeb/xuAs9POJj0+3crwRERE5DSY/m8ASA6aOAzbft0REZEOYNssE16j+pjltLa5Q7OEDkobZFVYIiIiEgHBQGiOlG6mbb/qiIhIB7FtpqltspzWHr5wuwEY0H2AVWGJiIhIBPjNQwAk47I4EhERiXa2LaqrfU2L6n/W91QPSFVRLSIi0pUFzCoAknBbHImIiEQ72xbVDedUN6xRfaB8M+UuFwZofWoREZEuLmjWAeAy1FMtIiLty75F9XHnVG/b9xkAuXHpWp9aRESkizPxA+DUJGUiItLObJtpGs6pjnc7oeYw//SFzr0akDbYyrBEREQkAmoJndJlOGMtjkRERKKdbYvqRsO/47rxxXnXATAgXUW1iIhIV7fd1ReAqrSh1gYiIiJRz75F9XETlW2rLAbgrNSzLItJREREIiNIKM+7DKfFkYiISLSzb1F9zJJa3oCX4opQUa1JykRERLq+oBkEwOlQUS0iIu3LvkX1MROV7Xh1KgEzQDd3MpnxmRZHJiIiIqfrzLovAEg59IXFkYiISLSzb1Hd0FPtgm0lawAYkHwmhmFYGJWIiIhEgsesDl0Hai2OREREop3ti+p08yDbXKGhYQPSz7EyJBEREYkQk9Dwb4eW1BIRkXZm20xTWz/8O91fyhee0LIbZ6UNtDIkERERiRBNVCYiIh3FtkV1dX1RnVpXxpcxoaK6X/d+VoYkIiIiEWJiAuqpFhGR9mfbTNMw/Nvp3UWF04kB5CXnWRuUiIiIRETD8G+Xw2VxJCIiEu1sX1Qfrg0tpdXTlUicK87KkERERCRCGopqp3qqRUSkndk209TWF9XlgX0AnBGfZWU4IiIiEkFeQudSO1yxFkciIiLRzrZFdcM61UX5VwCQnzXMynBEREQkgj4zzgTA36vA4khERCTa2beoru+p3ufdDUB+an8rwxEREZGIajinWrN/i4hI+7JvUV3fU11WXQJAfkq+leGIiIhIBAXNUJ6P0URlIiLSzuxbVNcFGOrYSnnNHkBFtYiISDTpa3wFQOyBrRZHIiIi0c6WRbVpmtTUBchzbyMIJOAgLTbN6rBEREQkQuKoAcDtr7Y4EhERiXa2LKq9/iCmCUkx3wCQ7UzAMAyLoxIREZFIME0T0zABcDliLI5GRESinS2L6obltDwxBwDI9HS3MhwRERGJoEDQxKShqNY51SIi0r5sWVQ3zPxtxlQBkJmQaWU4IiIiEkH+oEmwoafaqZ5qERFpX7YsqqvrZ/72uULnW2WlnGFhNCIiIhJJoZ7qEC2pJSIi7c2WRXWNL0AyRzjgCqXczNR+FkckIiIikeIPHnNOtXqqRUSkndmyqK6tC5BhHKbMFTrPKjM51+KIREREJFICQZO6+glIY1wei6MREZFoZ8uiuqYuwA6zN1+6kgHISsiyOCIRERGJFH8wyJdmNgCunBEWRyMiItHOnkW1LwCGF9MROqc6M14TlYmIiESLYBAwggA4dU61iIi0M3sW1XUBHDEVACTEJJDoTrQ4IhEREYkUfzAIhIpqh2HLrzoiItKBbJlpanwBxnrWAJDljLc2GBEREYmoQNAk0zgAgOtQicXRiIhItLNnUV0XoIdrNwAZuCyORkRERCLJHzRxGz4AnHW1FkcjIiLRzrZFddDlBSDNnWRxNCIiIhJJgaBJMDT5N06nDp6LiEj7smVRXesLEHSEiuqkGBXVIiIi0SQQNAkSWqfa6XBbHI2IiEQ7WxbVNXUB/M46AJI9KRZHIyIiIpF0bE+1Qz3VIiLSzmxbVPscfgCSVFSLiIhEFX/QrJ/7G1yOGEtjERGR6GfLorraF8DrDKXb5LhUi6MRERGRSAoEg9/2VKuoFhGRdmbLMVG1dQGqHaFzrZLj0i2ORkSiWTAYxOfzWR2GtEFMTAxOp9PqMCyzZMkSfvOb31BaWsqgQYNYuHAho0aNanbbV155haVLl1JUVITX62XQoEHMmTOHK664ooOjDvEHTAKEqmqnU+dUi0j7CwQC1NXVWR2GnKJI5XqbFtVBPjV64aScpNQ+VocjIlHK5/NRXFxMMBg8+cbSKXXr1o2srCwMw7A6lA61cuVKbr/9dpYsWcJFF13Ek08+ybhx49iyZQu5ublNtn/vvfe4/PLLeeihh+jWrRvPPPMMV199NevXr+e8887r8PgDpkklsRh4caX17fDnFxH7ME2TsrIyDh8+bHUo0kaRyPW2LKq9/gCGowbQOdUi0j5M06S0tBSn00lOTg4Ohy3PtumyTNOkurqa8vJyALKzsy2OqGM99thj3HTTTUydOhWAhQsX8uabb7J06VIefvjhJtsvXLiw0e2HHnqIP/3pT/z5z3+2pqgOmmCEDmY5DP3tiUj7aSioMzIyiI+Pt91B2K4skrnenkV1XRAjthaAZE+yxdGISDTy+/1UV1fTs2dP4uPjrQ5H2iAuLg6A8vJyMjIybDMU3OfzsXHjRu66665G9xcWFvLhhx+26ncEg0GqqqpITW153hKv14vX6w3frqysbFvAzfAHTaifqszlsOVXHRHpAIFAIFxQp6WlWR2OtEGkcr0tD98me7/CcITOeUhya51qEYm8QCAAgNut8zm7soYDInY6T27//v0EAgEyMzMb3Z+ZmUlZWVmrfsejjz7K0aNHue6661rc5uGHHyYlJSV8ycnJOa24jxUImDiN0N+gozZyxbqIyLEacoMOnndtkcj1tiyq4/x7ADBMSIxJtDgaEYlmGgbWtdn5/Tu+7aZptur1eOGFF5gzZw4rV64kIyOjxe3uvvtuKioqwpfdu3efdswN6vyB8OzfTjNiv1ZEpFl2zhXRIBLvX5uK6iVLlpCfn09sbCzDhg3j/fffb3HbV155hcsvv5z09HSSk5MpKCjgzTffbHPAkWAEDwGQiKFzrURERI7Ro0cPnE5nk17p8vLyJr3Xx1u5ciU33XQT//M//8Nll112wm09Hg/JycmNLpHiN7/tbXC5NFpERETa1ylXlA0zgs6ePZtNmzYxatQoxo0bR0lJSbPbN8wIumrVKjZu3MiYMWO4+uqr2bRp02kH31aGWQFAoj076kVEOpVdu3ZhGAZFRUVWhyKETlkYNmwYq1evbnT/6tWrufDCC1vc74UXXmDKlCk8//zzXHnlle0d5gn5/d8uY6d1qkVErBftuf6Uq8pjZwQdOHAgCxcuJCcnh6VLlza7/cKFC7nzzjv5zne+Q79+/XjooYfo168ff/7zn087+LYyjSoAEg0lWhGRSFqzZg2GYVi2tMiOHTtISkqiW7duljx/tJg5cybLli3j97//PVu3buU///M/KSkpYdq0aUBo6PakSZPC27/wwgtMmjSJRx99lJEjR1JWVkZZWRkVFRWWxB/w14Z/1jrVIiKRpVzf1CkV1Q0zghYWFja6vz1mBK2srGx0iSSDIwAkO5RoRUSiRV1dHddffz2jRo2yOpQub8KECSxcuJD777+foUOH8t5777Fq1Sry8vIAKC0tbTRC7cknn8Tv93PrrbeSnZ0dvvz0pz+1JP66um97qlVUi4hEj86a60+pqI6GGUEBTKMagERnbER/r4hIVzd69GhmzJjBjBkz6NatG2lpadxzzz2YZmi2pxUrVjB8+HCSkpLIyspi4sSJ4fUdd+3axZgxYwDo3r07hmEwZcoUIHRAdf78+fTt2xePx0Nubi4PPvhgo+feuXMnY8aMIT4+niFDhvDRRx+dUuz33HMPZ5111gnzi7Te9OnT2bVrF16vl40bN3LJJZeEH1u+fDlr1qwJ316zZg2maTa5LF++vOMDB/zBY4tqjyUxiIh0Vsr1kdemk4q78oyg/kCQoKN+jWqXpr8XkY5hmibVPr8ll4Yk2VrPPvssLpeL9evXs3jxYhYsWMCyZcuA0IilBx54gE8//ZTXXnuN4uLicDLNycnh5ZdfBmDbtm2UlpayaNEiIPR/ff78+dx7771s2bKF559/vskB2tmzZzNr1iyKioro378/119/PX6/v1Uxv/POO7z00kv89re/PaW2SnQKBNRTLSIdT7nevrnedSobR2JG0JdeeqlVM4J6PO1zZNkXCPI3zsbDeyT1vqBdnkNE5Hg1dQHO/qU1Kx9suf8K4t2t/3efk5PDggULMAyDAQMGsHnzZhYsWMDNN9/MjTfeGN7uzDPPZPHixYwYMYIjR46QmJgYPrUnIyMjfK5TVVUVixYt4oknnmDy5MkA9OnTh4svvrjR886aNSs8wdXcuXMZNGgQO3bs4KyzzjphvAcOHGDKlCmsWLEiojNIS9dV7WxYLtPAcGhSUhHpGMr19s31p5RpomFGUG9dEMMZ6qlOiUuzNBYRkc5o5MiRjUYfFRQUsH37dgKBAJs2bWL8+PHk5eWRlJTE6NGjAVpcAQJg69ateL1eLr300hM+77nnnhv+OTs7GyA83OxEbr75ZiZOnNhoeLLYW10wAICB0+JIREQ6J+X6yDqlnmoIzQh6ww03MHz4cAoKCnjqqaeazAi6Z88ennvuOeDbGUEXLVoUnhEUIC4ujpSUlAg2pXW8/mOK6tjOd5RDRKJTXIyTLfdfYdlzR0JtbS2FhYUUFhayYsUK0tPTKSkp4YorrsDn87W4X1xcXKt+f0zMtysyNCT6YDB40v3eeecdXn/9dR555BEgNPwuGAzicrl46qmnGh1xF3vwBxqKavVSi0jHUa4/uWjN9adcVE+YMIEDBw5w//33U1payuDBg1s9I+itt94avn/y5MmWTGDi9QfId37F10DC0QMd/vwiYk+GYZzSsCwrrVu3rsntfv368cUXX7B//37mzZsXnkByw4YNjbZ1u0PnrwbqixqAfv36ERcXx9tvv83UqVMjHu9HH33U6Pn+9Kc/MX/+fD788EN69eoV8eeTzs9Ruw8At9m68/RERCJBud6+ub5N7/r06dOZPn16s48dXygfOztoZ+DzB0lyhJboivVWWxyNiEjns3v3bmbOnMktt9zCJ598wuOPP86jjz5Kbm4ubrebxx9/nGnTpvHZZ5/xwAMPNNo3Ly8PwzD4y1/+wve//33i4uJITEzk5z//OXfeeSdut5uLLrqIffv28fnnn3PTTTeddrwDBw5sdHvDhg04HA4GDx582r9buiaHP5TnY4IqqkVEmqNcH1m2Gxfl9QfxG6HZ8dwxrRumICJiJ5MmTaKmpoYRI0Zw6623ctttt/HjH/+Y9PR0li9fzksvvcTZZ5/NvHnzwsOwGvTq1Yu5c+dy1113kZmZyYwZMwC49957ueOOO/jlL3/JwIEDmTBhQqvOoRJpi2AgVEzrjGoRkeYp10eWYZ7q/OsWqKysJCUlhYqKitOe7W3jVweZ++YlFHsMnjz3p1x4XuSHJ4iI1NbWUlxcTH5+PrGxsVaH02qjR49m6NChLFy40OpQOoUTvY+RzE0S2dfzkT/+jmePLiYtEGTNjZ9HKEIRkcaU66NDJHK9/Xqq647tqdY61SIiItEmGKwDwGEaJ9lSRETk9NmvqPYH8dXnWI9LRbWISGc3btw4EhMTm7089NBDVocnnVCgvqjW8G8Rka6hq+f6rjE9XQR5/QHqGopqd5K1wYiIdDKdbXJJgGXLllFTU9PsY6mpqR0cjXQFDUW17XoORERaQbk+8mxYVB/TU+1OsDYYERE5qc6wVIZ0LcGgJioTEelKunqut91BXG9dkCNGaNFxT0qOxdGIiIhIpJV5cgE44unaX9JERKRrsF1RXev3gyO0cLhHE5WJiIhEHV/9uiaGI8baQERExBZsV1RX+2rDP3ucHgsjERERkfYQqB/+7TA0AFxERNqf7Yrqutr94Z/dTreFkYiIiEh7SPZ+DUCi76DFkYiIiB3Yrqj2ew8B4DJNXA7bzdMmIiIS9eLqDtRfV1kciYiI2IHtiuo6XyjBuk2LAxEREQB27dqFYRgUFRVZHYpECdNsGP5tWByJiIhA9Od6GxbVRwEV1SIi7WHNmjUYhsHhw4c79HnffPNNRo4cSVJSEunp6fzLv/wLxcXFHRqDdB5BMzQhqRMV1SIikaZc35T9iupANQAeFdUiIlFh586djB8/nrFjx1JUVMSbb77J/v37ufbaa60OTSxiqqgWEYkqnT3X26+o9oeK6hglWhGRJkaPHs2MGTOYMWMG3bp1Iy0tjXvuuQfTDB2JXLFiBcOHDycpKYmsrCwmTpxIeXk5EBraNWbMGAC6d++OYRhMmTIFgGAwyPz58+nbty8ej4fc3FwefPDBRs+9c+dOxowZQ3x8PEOGDOGjjz5qVcyffPIJgUCAX/3qV/Tp04fzzz+fWbNm8emnn1JXVxehV0a6kmDD8G/lehGRJpTrI892RXWgoadaiVZErOA72vKlrvYUtq1p3bZt8Oyzz+JyuVi/fj2LFy9mwYIFLFu2LPQ0Ph8PPPAAn376Ka+99hrFxcXhZJqTk8PLL78MwLZt2ygtLWXRokUA3H333cyfP597772XLVu28Pzzz5OZmdnoeWfPns2sWbMoKiqif//+XH/99fj9/pPGO3z4cJxOJ8888wyBQICKigr++7//m8LCQmJitE6xHX07/Nt2X3NEpDNQrrddrrfd9Nf+QA3EgFtFtYhY4aGeLT/WrxD+30vf3v5NX6irbn7bvIvhR//77e2F50D1gabbzak45RBzcnJYsGABhmEwYMAANm/ezIIFC7j55pu58cYbw9udeeaZLF68mBEjRnDkyBESExNJTU0FICMjg27dugFQVVXFokWLeOKJJ5g8eTIAffr04eKLL270vLNmzeLKK68EYO7cuQwaNIgdO3Zw1llnnTDeM844g7feeot/+7d/45ZbbiEQCFBQUMCqVatOue0SHS7s0423SyEuRutUi4gFlOsBe+V62x3C3RGTC0BtYj+LIxER6ZxGjhyJccysyQUFBWzfvp1AIMCmTZsYP348eXl5JCUlMXr0aABKSkpa/H1bt27F6/Vy6aWXnvB5zz333PDP2dnZAOHhZidSVlbG1KlTmTx5Mh9//DFr167F7Xbzr//6r+GhbGIzvc4HwJV9nsWBiIh0Tsr1kWW7nuqaQACc4IpJtDoUEbGjX+xt+THjuF61n+04wbbHHRO9fXPbY2ql2tpaCgsLKSwsZMWKFaSnp1NSUsIVV1yBz+drcb+4uLhW/f5jh281JPpgMHjS/X7729+SnJzMr3/96/B9K1asICcnh/Xr1zNy5MhWPb9ED78j9PfhjGndZ09EJKKU61sUrbnedkV1XTD0YfA4PRZHIiK25E6wftuTWLduXZPb/fr144svvmD//v3MmzePnJwcADZs2NA4DLcbgEAgEL6vX79+xMXF8fbbbzN16tSIxdmguroap7Pxl5SG261J1BJ9Ag3nVB//5VVEpCMo10cszgadPdfbbvh3D/8uAJJr91sbiIhIJ7V7925mzpzJtm3beOGFF3j88cf56U9/Sm5uLm63m8cff5ydO3fy+uuv88ADDzTaNy8vD8Mw+Mtf/sK+ffs4cuQIsbGx/PznP+fOO+/kueee48svv2TdunU8/fTTEYn3yiuv5OOPP+b+++9n+/btfPLJJ/zoRz8iLy+P887T8F87Cu7fDoCz4muLIxER6ZyU6yPLdkV1t+A3gIpqEZGWTJo0iZqaGkaMGMGtt97Kbbfdxo9//GPS09NZvnw5L730EmeffTbz5s3jkUceabRvr169mDt3LnfddReZmZnMmDEDgHvvvZc77riDX/7ylwwcOJAJEya06hyq1hg7dizPP/88r732Gueddx7f+9738Hg8vPHGG60ejibRxV+xGwDHkW8sjkREpHNSro8sw+wMZ3afRGVlJSkpKVRUVJCcnHxav+umxVfyfykl/MCRyYM3/C1CEYqINFZbW0txcTH5+fnExsZaHU6rjR49mqFDh7Jw4UKrQ+kUTvQ+RjI3SWRfz9+9PpnFhz7hWncWc69fHaEIRUQaU66PDpHI9bbrqQ4SWhzc43BbHImIiIi0B3/4nGrbfc0REREL2C7bBAktLu5xqqgWEekKxo0bR2JiYrOXhx56yOrwpBMKBENFtUMTlYmIdAldPdfbbvbvgIpqEZEWrVmzxuoQmli2bBk1NTXNPpaamtrB0UhXEKzvqXapqBYRaUK5PvJsVVSbpknQCBXVsVpSS0SkS+jVq5fVIUgX0zD826Hh3yIiXUJXz/W2yzaZ3UILjid6rJ8lTkRERCLv255q233NERERC9gq2xiGgT/zLABicy+yOBoRERFpD4HsoQA4en/H2kBERMQWbFVUA/iM0LUnvvOPzRcREZFT53eGRqU5PUkWRyIiInZgu6LaG/AC4NE51SIiIlEpaAYBcBm2mjpGREQsYr+iuuJrADxH9lkciYiIiLSHwMGdADgqdlsciYiI2IH9iurq/QC4j+63OBIREQHYtWsXhmFQVFRkdSgSJQKVoWLaWbnX4khERASiP9fbr6jGBCA2Jt7iSEREos+aNWswDIPDhw932HPW1tYyZcoUzjnnHFwuFz/84Q+b3c7r9TJ79mzy8vLweDz06dOH3//+9x0Wp3ScQP3wb6fWqRYRiTjl+qZsd7KRl1CidcckWByJiIhEQiAQIC4ujv/4j//g5ZdfbnG76667jm+++Yann36avn37Ul5ejt/v78BIpaOEi2qHimoRkWjQ2XO97XqqffXXHhXVIiJNjB49mhkzZjBjxgy6detGWloa99xzD6YZGuWzYsUKhg8fTlJSEllZWUycOJHy8nIgNLRrzJgxAHTv3h3DMJgyZQoAwWCQ+fPn07dvXzweD7m5uTz44IONnnvnzp2MGTOG+Ph4hgwZwkcffdSqmBMSEli6dCk333wzWVlZzW7zxhtvsHbtWlatWsVll13GGWecwYgRI7jwwgvb8jJJJ/dtT7Xt+g5ERE5KuT7ybFdU1xqhD4vHraJaRDqOaZpU11VbcmlIkq317LPP4nK5WL9+PYsXL2bBggUsW7YMAJ/PxwMPPMCnn37Ka6+9RnFxcTiZ5uTkhI8eb9u2jdLSUhYtWgTA3Xffzfz587n33nvZsmULzz//PJmZmY2ed/bs2cyaNYuioiL69+/P9ddfH7Gjy6+//jrDhw/n17/+Nb169aJ///7MmjWLmpqaiPx+6Vw0/FtErKBcb99cb7tDuOGearfWrhSRjlPjr+GC5y+w5LnXT1xP/CnMI5GTk8OCBQswDIMBAwawefNmFixYwM0338yNN94Y3u7MM89k8eLFjBgxgiNHjpCYmEhqaioAGRkZdOvWDYCqqioWLVrEE088weTJkwHo06cPF198caPnnTVrFldeeSUAc+fOZdCgQezYsYOzzjrrdJoPhI6Mf/DBB8TGxvLqq6+yf/9+pk+fzsGDB3VedRQK1H+5dDps9zVHRCykXG/fXG+rnmrTNPnZ4aPcfvAQSbHdrQ5HRKRTGjlyJIZhhG8XFBSwfft2AoEAmzZtYvz48eTl5ZGUlMTo0aMBKCkpafH3bd26Fa/Xy6WXXnrC5z333HPDP2dnZwOEh5udrmAwiGEY/OEPf2DEiBF8//vf57HHHmP58uXqrY5CARrOqVZRLSLSHOX6yLJVtjEMg/83cRX4a6HbGVaHIyI2EueKY/3E9ZY9dyTU1tZSWFhIYWEhK1asID09nZKSEq644gp8Pl+L+8XFte75Y2Jiwj83JPpgMHh6QdfLzs6mV69epKSkhO8bOHAgpmny9ddf069fv4g8j3QOgfQBUL4RZ/ZQq0MRERtRrj+5aM31tiqqAcgYaHUEImJDhmGc0rAsK61bt67J7X79+vHFF1+wf/9+5s2bR05ODgAbNmxotK3b7QZCs3Q26NevH3Fxcbz99ttMnTq1naNv3kUXXcRLL70UHroG8M9//hOHw0Hv3r0tiUnaz69GP0JNXQ3dNSpNRDqQcr19c72thn+LiMjJ7d69m5kzZ7Jt2zZeeOEFHn/8cX7605+Sm5uL2+3m8ccfZ+fOnbz++us88MADjfbNy8vDMAz+8pe/sG/fPo4cOUJsbCw///nPufPOO3nuuef48ssvWbduHU8//XTEYt6yZQtFRUUcPHiQiooKioqKKCoqCj8+ceJE0tLS+NGPfsSWLVt47733+NnPfsaNN97Y6qPr0nX0iOtBTnIOie5Eq0MREemUlOsjy3491SIickKTJk2ipqaGESNG4HQ6ue222/jxj3+MYRgsX76cX/ziFyxevJjzzz+fRx55hB/84AfhfXv16sXcuXO56667+NGPfsSkSZNYvnw59957Ly6Xi1/+8pfs3buX7Oxspk2bFrGYv//97/PVV1+Fb5933nkA4dlQExMTWb16NbfddhvDhw8nLS2N6667jl/96lcRi0FERKSrUK6PLMM81fnXLVBZWUlKSgoVFRUkJydbHY6IyEnV1tZSXFxMfn4+sbGxVofTaqNHj2bo0KEsXLjQ6lA6hRO9j8pNkaXXU0S6GuX66BCJXK/h3yIiIiIiIiJtpKJaREQ6tXHjxpGYmNjs5aGHHrI6PBERETlNXT3X65xqEREJW7NmjdUhNLFs2bIW15dMTU3t4GhERES6NuX6yFNRLSIinVqvXr2sDkFERETaUVfP9Rr+LSIiIiIiItJGKqpFRNpRF1hgQU4gGAxaHYKIiHRyyhVdWyTePw3/FhFpBzExMRiGwb59+0hPT8cwDKtDklNgmiY+n499+/bhcDhwu91WhyQiIp2M2+3G4XCwd+9e0tPTcbvdyvddSCRzvYpqEZF24HQ66d27N19//TW7du2yOhxpo/j4eHJzc3E4NLBLREQaczgc5OfnU1payt69e60OR9ooErleRbWISDtJTEykX79+1NXVWR2KtIHT6cTlcqnXQUREWuR2u8nNzcXv9xMIBKwOR05RpHK9imoRkXbkdDpxOp1WhyEiIiLtxDAMYmJiiImJsToUsYjGs4mIiIiIiIi0kYpqERERERERkTZSUS0iIiIiIiLSRl3inOqGdV4rKystjkRERCSkISdpLfLIUK4XEZHOprW5vksU1VVVVQDk5ORYHImIiEhjVVVVpKSkWB1Gl6dcLyIindXJcr1hdoFD7MFgkL1795KUlHTa051XVlaSk5PD7t27SU5OjlCEXYfd2w96DdR+td/O7YfIvQamaVJVVUXPnj21jnUEKNdHlt1fA7Vf7bdz+0GvQUfn+i7RU+1wOOjdu3dEf2dycrItP2AN7N5+0Gug9qv9dm4/ROY1UA915CjXtw+7vwZqv9pv5/aDXoOOyvU6tC4iIiIiIiLSRiqqRURERERERNrIdkW1x+Phvvvuw+PxWB2KJezeftBroPar/XZuP+g1sAO9x3oN1H61387tB70GHd3+LjFRmYiIiIiIiEhnZLueahEREREREZFIUVEtIiIiIiIi0kYqqkVERERERETaSEW1iIiIiIiISBvZqqhesmQJ+fn5xMbGMmzYMN5//32rQ2o3c+bMwTCMRpesrKzw46ZpMmfOHHr27ElcXByjR4/m888/tzDi0/Pee+9x9dVX07NnTwzD4LXXXmv0eGva6/V6ue222+jRowcJCQn84Ac/4Ouvv+7AVrTdydo/ZcqUJp+HkSNHNtqmK7f/4Ycf5jvf+Q5JSUlkZGTwwx/+kG3btjXaJpo/A61pfzR/BpYuXcq5555LcnIyycnJFBQU8Ne//jX8eDS/99I8u+R75frXGj0e7X/ryvXK9XbO9dC5871tiuqVK1dy++23M3v2bDZt2sSoUaMYN24cJSUlVofWbgYNGkRpaWn4snnz5vBjv/71r3nsscd44okn+Pjjj8nKyuLyyy+nqqrKwojb7ujRowwZMoQnnnii2cdb097bb7+dV199lRdffJEPPviAI0eOcNVVVxEIBDqqGW12svYDfO9732v0eVi1alWjx7ty+9euXcutt97KunXrWL16NX6/n8LCQo4ePRreJpo/A61pP0TvZ6B3797MmzePDRs2sGHDBsaOHcv48ePDiTSa33tpym75Xrn+W9H+t65cr1xv51wPnTzfmzYxYsQIc9q0aY3uO+uss8y77rrLooja13333WcOGTKk2ceCwaCZlZVlzps3L3xfbW2tmZKSYv7Xf/1XB0XYfgDz1VdfDd9uTXsPHz5sxsTEmC+++GJ4mz179pgOh8N84403Oiz2SDi+/aZpmpMnTzbHjx/f4j7R1H7TNM3y8nITMNeuXWuapv0+A8e33zTt9xno3r27uWzZMtu992KvfK9c/2r4tt3+1pXrleuV60M6S763RU+1z+dj48aNFBYWNrq/sLCQDz/80KKo2t/27dvp2bMn+fn5/Pu//zs7d+4EoLi4mLKyskavh8fj4bvf/W5Uvh6tae/GjRupq6trtE3Pnj0ZPHhw1Lwma9asISMjg/79+3PzzTdTXl4efiza2l9RUQFAamoqYL/PwPHtb2CHz0AgEODFF1/k6NGjFBQU2O69tzs75nvl+hD9rYfY4f98A+V6++Z66Hz53hZF9f79+wkEAmRmZja6PzMzk7KyMouial8XXHABzz33HG+++Sa/+93vKCsr48ILL+TAgQPhNtvl9WhNe8vKynC73XTv3r3FbbqycePG8Yc//IF33nmHRx99lI8//pixY8fi9XqB6Gq/aZrMnDmTiy++mMGDBwP2+gw0136I/s/A5s2bSUxMxOPxMG3aNF599VXOPvtsW733Yr98r1z/Lf2tR///+WMp19sz10Pnzfeu09q7izEMo9Ft0zSb3Bctxo0bF/75nHPOoaCggD59+vDss8+GJyyw0+sBbWtvtLwmEyZMCP88ePBghg8fTl5eHv/7v//Ltdde2+J+XbH9M2bM4B//+AcffPBBk8fs8Bloqf3R/hkYMGAARUVFHD58mJdffpnJkyezdu3a8ON2eO/lW3bJb8r1Tdn5bz3a/88fS7nenrkeOm++t0VPdY8ePXA6nU2OQJSXlzc5mhGtEhISOOecc9i+fXt4ZlC7vB6taW9WVhY+n49Dhw61uE00yc7OJi8vj+3btwPR0/7bbruN119/nXfffZfevXuH77fLZ6Cl9jcn2j4Dbrebvn37Mnz4cB5++GGGDBnCokWLbPPeS4jd871yvf7WjxVt/+cbKNfbN9dD5833tiiq3W43w4YNY/Xq1Y3uX716NRdeeKFFUXUsr9fL1q1byc7OJj8/n6ysrEavh8/nY+3atVH5erSmvcOGDSMmJqbRNqWlpXz22WdR+ZocOHCA3bt3k52dDXT99pumyYwZM3jllVd45513yM/Pb/R4tH8GTtb+5kTbZ+B4pmni9Xqj/r2Xxuye75Xr9bd+rGj7P69cr1zfnE6T709rmrMu5MUXXzRjYmLMp59+2tyyZYt5++23mwkJCeauXbusDq1d3HHHHeaaNWvMnTt3muvWrTOvuuoqMykpKdzeefPmmSkpKeYrr7xibt682bz++uvN7Oxss7Ky0uLI26aqqsrctGmTuWnTJhMwH3vsMXPTpk3mV199ZZpm69o7bdo0s3fv3ubf/vY385NPPjHHjh1rDhkyxPT7/VY1q9VO1P6qqirzjjvuMD/88EOzuLjYfPfdd82CggKzV69eUdP+n/zkJ2ZKSoq5Zs0as7S0NHyprq4ObxPNn4GTtT/aPwN33323+d5775nFxcXmP/7xD/MXv/iF6XA4zLfeess0zeh+76UpO+V75XrleuV65Xq75HrT7Nz53jZFtWma5m9/+1szLy/PdLvd5vnnn99oCvpoM2HCBDM7O9uMiYkxe/bsaV577bXm559/Hn48GAya9913n5mVlWV6PB7zkksuMTdv3mxhxKfn3XffNYEml8mTJ5um2br21tTUmDNmzDBTU1PNuLg486qrrjJLSkosaM2pO1H7q6urzcLCQjM9Pd2MiYkxc3NzzcmTJzdpW1duf3NtB8xnnnkmvE00fwZO1v5o/wzceOON4f/t6enp5qWXXhpOsKYZ3e+9NM8u+V65XrleuV653i653jQ7d743TNM0T6+vW0RERERERMSebHFOtYiIiIiIiEh7UFEtIiIiIiIi0kYqqkVERERERETaSEW1iIiIiIiISBupqBYRERERERFpIxXVIiIiIiIiIm2kolpERERERESkjVRUi4iIiIiIiLSRimoRERERERGRNlJRLSIiIiIiItJGKqpFRERERERE2khFtYiIiIiIiEgb/f/SCGcqISmwxAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1200x1200 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "plt.figure(figsize=(12,12))\n",
    "fields = patch_8.keys()\n",
    "for i, field in enumerate(fields):\n",
    "    plt.subplot(2, 2, i+1)\n",
    "    plt.plot(patch_4[field], label=\"patch_4\")\n",
    "    plt.plot(patch_8[field], label=\"patch_8\", linestyle=\"--\")\n",
    "    plt.plot(patch_16[field], label=\"patch_16\", linestyle=\"-\")\n",
    "    plt.legend()\n",
    "    plt.title(field)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e1c54f5a",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pytorch-cu124",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
